import type { Adapter } from '@auth/core/adapters';
export type DatabaseProviderType = 'prisma' | 'drizzle' | 'mongodb' | 'postgres' | 'mysql' | 'sqlite' | 'supabase' | 'custom';
export interface BaseDatabaseConfig {
    type: DatabaseProviderType;
    connectionString?: string;
    ssl?: boolean;
}
export interface CustomAdapterConfig extends BaseDatabaseConfig {
    type: 'custom';
    adapter: Adapter;
}
export interface PrismaConfig extends BaseDatabaseConfig {
    type: 'prisma';
    client: any;
}
export interface DrizzleConfig extends BaseDatabaseConfig {
    type: 'drizzle';
    client: any;
    schema?: any;
}
export type DatabaseConfig = PrismaConfig | DrizzleConfig | CustomAdapterConfig;
export declare const createDatabaseAdapter: (config: DatabaseConfig | undefined) => Promise<Adapter | null>;
export declare const getUserByCustomIdentifier: (config: DatabaseConfig, customField: stting, identifier: string) => Promise<{} | null>;
