import { z } from 'zod';
import type { LlmProvider } from '../../core/llm/types.js';
import type { ProviderCredentialStore, StoredProviderCredential } from './types.js';
export declare const storedProviderCredentialSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
    provider: z.ZodEnum<{
        openai: "openai";
        anthropic: "anthropic";
        google: "google";
    }>;
    createdAt: z.ZodString;
    updatedAt: z.ZodString;
    label: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"api-key">;
    key: z.ZodString;
}, z.core.$strip>, z.ZodObject<{
    provider: z.ZodEnum<{
        openai: "openai";
        anthropic: "anthropic";
        google: "google";
    }>;
    createdAt: z.ZodString;
    updatedAt: z.ZodString;
    label: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"bearer">;
    token: z.ZodString;
}, z.core.$strip>, z.ZodObject<{
    provider: z.ZodEnum<{
        openai: "openai";
        anthropic: "anthropic";
        google: "google";
    }>;
    createdAt: z.ZodString;
    updatedAt: z.ZodString;
    label: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"oauth">;
    accessToken: z.ZodString;
    refreshToken: z.ZodString;
    expiresAt: z.ZodNumber;
    accountId: z.ZodOptional<z.ZodString>;
}, z.core.$strip>], "type">;
export declare const providerCredentialStoreSchema: z.ZodObject<{
    version: z.ZodLiteral<1>;
    credentials: z.ZodRecord<z.ZodEnum<{
        openai: "openai";
        anthropic: "anthropic";
        google: "google";
    }>, z.ZodUnknown>;
}, z.core.$strip>;
export declare class ProviderCredentialSchemas {
    static parseStore(input: unknown): ProviderCredentialStore;
    static parseCredential(provider: LlmProvider, input: unknown): StoredProviderCredential | undefined;
    static emptyStore(): ProviderCredentialStore;
}
//# sourceMappingURL=schemas.d.ts.map