import { z } from 'zod';
export type AccessTokenProvider = () => string | Promise<string>;
export declare const MSGRAPH_CONFIG_SHAPE: {
    accessToken: import("../../vfs/secrets.ts").SecretSchema<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<AccessTokenProvider, AccessTokenProvider>]>>;
    tenantHost: z.ZodOptional<z.ZodString>;
    graphBaseUrl: z.ZodOptional<z.ZodString>;
    timeout: z.ZodOptional<z.ZodNumber>;
    maxRetries: z.ZodOptional<z.ZodNumber>;
};
export interface MsGraphConfig {
    accessToken: string | AccessTokenProvider;
    tenantHost?: string;
    graphBaseUrl?: string;
    timeout?: number;
    maxRetries?: number;
}
export declare function optionalText(value: string | undefined): string | null;
export declare function resolveMsGraphConfig(config: MsGraphConfig): {
    accessToken: string | AccessTokenProvider;
    tenantHost: string | null;
    graphBaseUrl: string | null;
    timeout: number;
    maxRetries: number;
};
export declare function graphApi(config: ReturnType<typeof resolveMsGraphConfig>): string;
//# sourceMappingURL=config.d.ts.map