import { AnyPgTable, PgEnum, PgSchema } from "drizzle-orm/pg-core";
import { Relations } from "drizzle-orm";
import { IntrospectStage, IntrospectStatus } from "src/cli/views";
import { PgSchemaInternal } from "src/serializer/pgSchema";
import { DrizzleDbClient } from "src/drivers";
export declare const indexName: (tableName: string, columns: string[]) => string;
export declare const generatePgSnapshot: (tables: AnyPgTable[], enums: PgEnum<any>[], schemas: PgSchema[], schemaFilter?: string[]) => PgSchemaInternal;
export declare const fromDatabase: (db: DrizzleDbClient, tablesFilter: ((table: string) => boolean) | undefined, schemaFilters: string[], progressCallback?: ((stage: IntrospectStage, count: number, status: IntrospectStatus) => void) | undefined) => Promise<PgSchemaInternal>;
export declare const toDrizzle: (schema: PgSchemaInternal) => Record<string, AnyPgTable | Relations>;
