import type Database from 'better-sqlite3';
export interface RuleRecord {
    id: number;
    pattern: string;
    action: string;
    description: string | null;
    confidence: number;
    occurrences: number;
    active: number;
    project_id: number | null;
    created_at: string;
    updated_at: string;
}
type CreateRuleData = Omit<RuleRecord, 'id' | 'confidence' | 'occurrences' | 'active' | 'created_at' | 'updated_at'> & {
    confidence?: number;
    occurrences?: number;
    active?: number;
};
type UpdateRuleData = Partial<Omit<RuleRecord, 'id' | 'created_at'>>;
export declare class RuleRepository {
    private db;
    private stmts;
    constructor(db: Database.Database);
    create(data: CreateRuleData): number;
    getById(id: number): RuleRecord | undefined;
    update(id: number, data: UpdateRuleData): void;
    delete(id: number): void;
    findActive(projectId?: number): RuleRecord[];
    findByPattern(pattern: string): RuleRecord[];
}
export {};
