import { Dialect } from "./schemaValidator";
export type Config = {
    dialect: Dialect;
    out?: string;
    breakpoints?: boolean;
    tablesFilter?: string | string[];
    schemaFilter?: string | string[];
    schema?: string | string[];
    verbose?: boolean;
    strict?: boolean;
} & {
    introspect?: {
        casing: "camel" | "preserve";
    };
} & ({
    dialect: "sqlite";
    driver: "turso";
    dbCredentials: {
        url: string;
        authToken?: string;
    };
} | {
    dialect: "sqlite";
    dbCredentials: {
        url: string;
    };
} | {
    dialect: "postgresql";
    dbCredentials: {
        host: string;
        port?: number;
        user?: string;
        password?: string;
        database: string;
        ssl?: boolean;
    } | {
        url: string;
    };
} | {
    dialect: "postgresql";
    driver: "aws-data-api";
    dbCredentials: {
        database: string;
        secretArn: string;
        resourceArn: string;
    };
} | {
    dialect: "mysql";
    dbCredentials: {
        host: string;
        port?: number;
        user?: string;
        password?: string;
        database: string;
    } | {
        url: string;
    };
} | {
    dialect: "sqlite";
    driver: "d1-http";
    dbCredentials: {
        wranglerConfigPath: string;
        dbName: string;
    };
} | {
    dialect: "sqlite";
    driver: "expo";
} | {});
export declare function defineConfig(config: Config): Config;
