import type { ResolvedFetchOptions, ResponseType } from 'ofetch';
import type { AuthToken, DatabasePreset, DatabasePresetKeys, DatabasePresetServerKeys, Overrides, ServerOverrides } from '#surrealdb/types/index';
export declare function authTokenFn(authToken?: AuthToken): string | undefined;
interface GetDatabasePresetOptions {
    authDatabase: DatabasePresetKeys | false;
    databases: {
        [key in DatabasePresetKeys]: DatabasePreset;
    };
    overrides?: Overrides;
    userToken?: string | null;
}
interface GetDatabasePresetServerOptions {
    authDatabase: DatabasePresetKeys | false;
    databases: {
        [key in DatabasePresetServerKeys]: DatabasePreset;
    };
    overrides?: ServerOverrides;
    userToken?: string;
}
export declare function getDatabasePreset(options: GetDatabasePresetOptions | GetDatabasePresetServerOptions): DatabasePreset;
export declare function surrealFetchOptionsOverride(databasePreset: DatabasePreset): {
    baseURL: ResolvedFetchOptions<ResponseType, any>['baseURL'];
    headers: Record<string, string>;
};
export declare const defuDbs: <Source extends {
    [x: string]: any;
    [x: number]: any;
    [x: symbol]: any;
}, Defaults extends Array<{
    [x: string]: any;
    [x: number]: any;
    [x: symbol]: any;
} | (number | boolean | any[] | Record<never, any> | null | undefined)>>(source: Source, ...defaults: Defaults) => import("defu").Defu<Source, Defaults>;
export declare function setRequestHeaders(headers: Headers, append?: Record<string, string>): Headers;
export {};
