import { Document } from 'mongoose';
export type AhaRuleVersionDocument = AhaRuleVersion & Document;
export declare class AhaKeyEventRule {
    key: string;
    label: string;
    event_names: string[];
    min_count: number;
    required: boolean;
}
export declare const AhaKeyEventRuleSchema: import("mongoose").Schema<AhaKeyEventRule, import("mongoose").Model<AhaKeyEventRule, any, any, any, Document<unknown, any, AhaKeyEventRule, any, {}> & AhaKeyEventRule & {
    _id: import("mongoose").Types.ObjectId;
} & {
    __v: number;
}, any>, {}, {}, {}, {}, import("mongoose").DefaultSchemaOptions, AhaKeyEventRule, Document<unknown, {}, import("mongoose").FlatRecord<AhaKeyEventRule>, {}, import("mongoose").DefaultSchemaOptions> & import("mongoose").FlatRecord<AhaKeyEventRule> & {
    _id: import("mongoose").Types.ObjectId;
} & {
    __v: number;
}>;
export declare class AhaRuleVersion {
    version: string;
    label: string;
    description?: string;
    is_active: boolean;
    key_events: AhaKeyEventRule[];
    allowed_key_screens: string[];
    min_distinct_key_screens: number;
    min_return_days: number;
    created_by?: string;
}
export declare const AhaRuleVersionSchema: import("mongoose").Schema<AhaRuleVersion, import("mongoose").Model<AhaRuleVersion, any, any, any, Document<unknown, any, AhaRuleVersion, any, {}> & AhaRuleVersion & {
    _id: import("mongoose").Types.ObjectId;
} & {
    __v: number;
}, any>, {}, {}, {}, {}, import("mongoose").DefaultSchemaOptions, AhaRuleVersion, Document<unknown, {}, import("mongoose").FlatRecord<AhaRuleVersion>, {}, import("mongoose").DefaultSchemaOptions> & import("mongoose").FlatRecord<AhaRuleVersion> & {
    _id: import("mongoose").Types.ObjectId;
} & {
    __v: number;
}>;
