export interface SupabaseConfig {
    projectUrl: string;
    serviceRoleKey: string;
    anonKey?: string;
    configuredAt: string;
}
export interface SupabaseColumn {
    name: string;
    type: string;
    nullable: boolean;
    isPrimaryKey: boolean;
    isForeignKey: boolean;
    references?: string;
    defaultValue?: string;
}
export interface RlsPolicy {
    name: string;
    table: string;
    operation: 'SELECT' | 'INSERT' | 'UPDATE' | 'DELETE' | 'ALL';
    using?: string;
    withCheck?: string;
    roles: string[];
}
export interface SupabaseTable {
    name: string;
    schema: string;
    rowCount?: number;
    columns: SupabaseColumn[];
    rlsPolicies: RlsPolicy[];
    hasRls: boolean;
}
export interface SupabaseSyncResult {
    tables: SupabaseTable[];
    syncedAt: string;
    projectUrl: string;
}
export interface RlsSpecResult {
    specsCreated: number;
    specIds: string[];
    tablesWithoutRls: string[];
}
export interface ConfigureSupabaseInput {
    projectPath: string;
    projectUrl: string;
    serviceRoleKey: string;
    anonKey?: string;
}
export interface SyncSupabaseSchemaInput {
    projectPath: string;
    schemas?: string[];
}
export interface GenerateRlsSpecInput {
    projectPath: string;
    tableName?: string;
    createMissingRlsSpecs?: boolean;
}
export type TestimonialSource = 'planu-feedback' | 'github-issue' | 'web-form' | 'manual';
export interface Testimonial {
    id: string;
    authorName: string;
    authorRole: string;
    authorAvatarUrl?: string;
    authorGithub?: string;
    quote: string;
    rating: number;
    source: TestimonialSource;
    feedbackId?: string;
    approved: boolean;
    featured: boolean;
    locale: string;
    createdAt: string;
    projectType?: string;
    companySize?: string;
}
export interface TestimonialSubmission {
    id: string;
    name: string;
    role: string;
    quote: string;
    rating: number;
    email: string;
    createdAt: string;
    reviewed: boolean;
}
export interface ApproveTestimonialInput {
    projectPath: string;
    feedbackId?: string;
    authorName?: string;
    authorRole?: string;
    authorAvatarUrl?: string;
    authorGithub?: string;
    quote?: string;
    rating?: number;
    source?: TestimonialSource;
    featured?: boolean;
    locale?: string;
    projectType?: string;
    companySize?: string;
}
export interface ListTestimonialsInput {
    projectPath: string;
    filter?: 'approved' | 'pending' | 'all';
    locale?: string;
    featured?: boolean;
    source?: TestimonialSource;
    limit?: number;
}
//# sourceMappingURL=supabase.d.ts.map