import { z } from "zod";
export declare const ProvisioningSpecSchema: z.ZodObject<{
    provider: z.ZodDefault<z.ZodLiteral<"bedrock">>;
    agentName: z.ZodString;
    emailUsername: z.ZodString;
    workspaceDomain: z.ZodDefault<z.ZodString>;
    gmailPassword: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    googleActivated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    systemPassword: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    aws: z.ZodObject<{
        region: z.ZodString;
        bearerToken: z.ZodNullable<z.ZodOptional<z.ZodString>>;
        accessKeyId: z.ZodString;
        secretAccessKey: z.ZodString;
        sessionToken: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    }, z.core.$strip>;
    serpApiKey: z.ZodString;
    googleWorkspace: z.ZodOptional<z.ZodObject<{
        licenseSku: z.ZodNullable<z.ZodOptional<z.ZodString>>;
        licenseProductId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
        delegatedAdminEmail: z.ZodString;
        adminSdkServiceAccount: z.ZodObject<{
            type: z.ZodString;
            project_id: z.ZodString;
            private_key_id: z.ZodString;
            private_key: z.ZodString;
            client_email: z.ZodString;
            client_id: z.ZodString;
            auth_uri: z.ZodOptional<z.ZodString>;
            token_uri: z.ZodString;
        }, z.core.$strip>;
    }, z.core.$strip>>;
    googleOAuth: z.ZodDefault<z.ZodObject<{
        clientId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
        clientSecret: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    }, z.core.$strip>>;
    telegram: z.ZodObject<{
        botToken: z.ZodString;
        botName: z.ZodString;
        profilePhotoSources: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodString>>>;
    }, z.core.$strip>;
    cloudflared: z.ZodDefault<z.ZodObject<{
        enabled: z.ZodDefault<z.ZodBoolean>;
        tunnelName: z.ZodNullable<z.ZodOptional<z.ZodString>>;
        tunnelHostname: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    }, z.core.$strip>>;
    github: z.ZodDefault<z.ZodObject<{
        enabled: z.ZodDefault<z.ZodBoolean>;
        createAccountIfMissing: z.ZodDefault<z.ZodBoolean>;
        pat: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    }, z.core.$strip>>;
    installService: z.ZodDefault<z.ZodBoolean>;
    onboardingService: z.ZodOptional<z.ZodObject<{
        url: z.ZodURL;
        apiKey: z.ZodString;
    }, z.core.$strip>>;
    geminiApiKey: z.ZodNullable<z.ZodOptional<z.ZodString>>;
}, z.core.$strip>;
export type ProvisioningSpec = z.infer<typeof ProvisioningSpecSchema>;
export interface LoadedProvisioningSpec {
    source: string;
    sourceType: "local" | "remote";
    setupCode?: string;
    spec: ProvisioningSpec;
}
export declare function loadProvisioningSpec(source: string): Promise<LoadedProvisioningSpec>;
//# sourceMappingURL=provisioning-spec.d.ts.map