export interface ComplianceRule {
    id: string;
    pattern: string;
    label: string;
    severity: number;
    category?: string;
}
export interface CompliancePolicy {
    id: string;
    version: number;
    name: string;
    isActive: boolean;
    propertyId: string;
    effectiveDate: string | null;
    prohibitedTerms: ComplianceRule[];
    discouragedTerms: ComplianceRule[];
    severityThresholds: {
        blockThreshold: number;
        warnThreshold: number;
    };
    rewriteVoicePrompt: string | null;
}
export interface ScanFinding {
    ruleId: string;
    matchedText: string;
    severity: number;
    position: {
        start: number;
        end: number;
    };
    field: string;
    label: string;
}
export interface ScanResult {
    status: 'PASS' | 'WARN' | 'BLOCK';
    severityScore: number;
    findings: ScanFinding[];
}
export interface PipelineResult {
    scanId: string;
    propertyId: string;
    originalStatus: 'PASS' | 'WARN' | 'BLOCK';
    finalStatus: 'PASS' | 'WARN' | 'BLOCK';
    severityScore: number;
    riskScoreAfter: number | null;
    findings: ScanFinding[];
    rewrittenText: string | null;
    rewriteAttempted: boolean;
    rewritePassed: boolean | null;
    note?: string;
}
export interface ContentPayload {
    propertyId?: string;
    contentType: 'blog_post' | 'forecast_copy' | 'site_copy';
    contentId?: string;
    contentSource?: string;
    fields: Record<string, string>;
}
export declare const RAINMAKER_PROPERTY_ID = "rainmaker_web";
export declare const COMPLIANCE_OFF_RESULT: PipelineResult;
//# sourceMappingURL=types.d.ts.map