import { z } from 'zod';
import type { ConfigOf } from '../../vfs/secrets.ts';
export type GoogleAccessTokenProvider = () => string | Promise<string>;
export declare const GOOGLE_CREDENTIAL_ERROR = "GoogleConfig needs either accessToken (a token or a provider callable) or both clientId and refreshToken";
export declare const GoogleConfig: z.ZodObject<{
    accessToken: z.ZodOptional<import("../../vfs/secrets.ts").SecretSchema<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<GoogleAccessTokenProvider, GoogleAccessTokenProvider>]>>>;
    clientId: z.ZodOptional<z.ZodString>;
    clientSecret: z.ZodOptional<import("../../vfs/secrets.ts").SecretSchema<z.ZodString>>;
    refreshToken: z.ZodOptional<import("../../vfs/secrets.ts").SecretSchema<z.ZodString>>;
    refreshFn: z.ZodOptional<import("../../vfs/secrets.ts").SecretSchema<z.ZodCustom<(refreshToken: string) => Promise<{
        accessToken: string;
        expiresIn: number;
    }>, (refreshToken: string) => Promise<{
        accessToken: string;
        expiresIn: number;
    }>>>>;
    apiBase: z.ZodOptional<z.ZodString>;
    folderId: z.ZodOptional<z.ZodString>;
    timeout: z.ZodOptional<z.ZodNumber>;
}, z.core.$strip>;
export type GoogleConfig = ConfigOf<typeof GoogleConfig>;
export type GoogleAppConfig = ConfigOf<typeof GoogleConfig>;
//# sourceMappingURL=config.d.ts.map