import { Knex } from 'knex';
export interface ForeignKeyEntry {
    key: string[];
    ref: {
        table: string;
        key: string[];
    };
}
export interface IndexData {
    pk: string[][];
    uk: Record<string, string[]>;
    key: Record<string, string[]>;
    fk: Record<string, ForeignKeyEntry>;
}
export declare class IndexResult implements IndexData {
    pk: string[][];
    uk: Record<string, string[]>;
    key: Record<string, string[]>;
    fk: Record<string, ForeignKeyEntry>;
    constructor(data: IndexData);
    isIndexExists(keys: string | string[], name?: string): boolean;
    isPrimaryKeyExists(keys: string | string[]): boolean;
    isUniqueExists(keys: string | string[]): boolean;
    isForeignKeyExists(columnName: string, ref: string): boolean;
}
export declare function loadIndexes(knex: Knex, tableName: string): Promise<IndexResult>;
//# sourceMappingURL=index.d.ts.map