import { z } from 'zod';
export declare const ConnectedServiceIdSchema: z.ZodEnum<{
    "openai-codex": "openai-codex";
    openai: "openai";
    anthropic: "anthropic";
    "claude-subscription": "claude-subscription";
    gemini: "gemini";
}>;
export type ConnectedServiceId = z.infer<typeof ConnectedServiceIdSchema>;
export declare const ConnectedServiceCredentialFormatSchema: z.ZodEnum<{
    account_scoped_v1: "account_scoped_v1";
}>;
export type ConnectedServiceCredentialFormat = z.infer<typeof ConnectedServiceCredentialFormatSchema>;
export declare const ConnectedServiceCredentialKindSchema: z.ZodEnum<{
    oauth: "oauth";
    token: "token";
}>;
export type ConnectedServiceCredentialKind = z.infer<typeof ConnectedServiceCredentialKindSchema>;
export declare const ConnectedServiceProfileIdSchema: z.ZodString;
export type ConnectedServiceProfileId = z.infer<typeof ConnectedServiceProfileIdSchema>;
export declare const ConnectedServiceCredentialRecordV1Schema: z.ZodDiscriminatedUnion<[z.ZodObject<{
    v: z.ZodLiteral<1>;
    serviceId: z.ZodEnum<{
        "openai-codex": "openai-codex";
        openai: "openai";
        anthropic: "anthropic";
        "claude-subscription": "claude-subscription";
        gemini: "gemini";
    }>;
    profileId: z.ZodString;
    createdAt: z.ZodNumber;
    updatedAt: z.ZodNumber;
    expiresAt: z.ZodNullable<z.ZodNumber>;
    kind: z.ZodLiteral<"oauth">;
    oauth: z.ZodObject<{
        accessToken: z.ZodString;
        refreshToken: z.ZodString;
        idToken: z.ZodNullable<z.ZodString>;
        scope: z.ZodNullable<z.ZodString>;
        tokenType: z.ZodNullable<z.ZodString>;
        providerAccountId: z.ZodNullable<z.ZodString>;
        providerEmail: z.ZodNullable<z.ZodString>;
        raw: z.ZodNullable<z.ZodUnknown>;
    }, z.core.$strip>;
    token: z.ZodNull;
}, z.core.$strip>, z.ZodObject<{
    v: z.ZodLiteral<1>;
    serviceId: z.ZodEnum<{
        "openai-codex": "openai-codex";
        openai: "openai";
        anthropic: "anthropic";
        "claude-subscription": "claude-subscription";
        gemini: "gemini";
    }>;
    profileId: z.ZodString;
    createdAt: z.ZodNumber;
    updatedAt: z.ZodNumber;
    expiresAt: z.ZodNullable<z.ZodNumber>;
    kind: z.ZodLiteral<"token">;
    oauth: z.ZodNull;
    token: z.ZodObject<{
        token: z.ZodString;
        providerAccountId: z.ZodNullable<z.ZodString>;
        providerEmail: z.ZodNullable<z.ZodString>;
        raw: z.ZodNullable<z.ZodUnknown>;
    }, z.core.$strip>;
}, z.core.$strip>], "kind">;
export type ConnectedServiceCredentialRecordV1 = z.infer<typeof ConnectedServiceCredentialRecordV1Schema>;
export declare const SealedConnectedServiceCredentialV1Schema: z.ZodObject<{
    format: z.ZodEnum<{
        account_scoped_v1: "account_scoped_v1";
    }>;
    ciphertext: z.ZodString;
}, z.core.$strip>;
export type SealedConnectedServiceCredentialV1 = z.infer<typeof SealedConnectedServiceCredentialV1Schema>;
export declare const ConnectedServiceQuotaUnitV1Schema: z.ZodEnum<{
    unknown: "unknown";
    tokens: "tokens";
    count: "count";
    credits: "credits";
    usd: "usd";
    requests: "requests";
}>;
export type ConnectedServiceQuotaUnitV1 = z.infer<typeof ConnectedServiceQuotaUnitV1Schema>;
export declare const ConnectedServiceQuotaMeterV1Schema: z.ZodObject<{
    meterId: z.ZodString;
    label: z.ZodString;
    used: z.ZodNullable<z.ZodNumber>;
    limit: z.ZodNullable<z.ZodNumber>;
    unit: z.ZodEnum<{
        unknown: "unknown";
        tokens: "tokens";
        count: "count";
        credits: "credits";
        usd: "usd";
        requests: "requests";
    }>;
    utilizationPct: z.ZodNullable<z.ZodNumber>;
    resetsAt: z.ZodNullable<z.ZodNumber>;
    status: z.ZodEnum<{
        ok: "ok";
        unavailable: "unavailable";
        estimated: "estimated";
    }>;
    details: z.ZodDefault<z.ZodOptional<z.ZodObject<{
        note: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    }, z.core.$strip>>>;
}, z.core.$strip>;
export type ConnectedServiceQuotaMeterV1 = z.infer<typeof ConnectedServiceQuotaMeterV1Schema>;
export declare const ConnectedServiceQuotaSnapshotV1Schema: z.ZodObject<{
    v: z.ZodLiteral<1>;
    serviceId: z.ZodEnum<{
        "openai-codex": "openai-codex";
        openai: "openai";
        anthropic: "anthropic";
        "claude-subscription": "claude-subscription";
        gemini: "gemini";
    }>;
    profileId: z.ZodString;
    fetchedAt: z.ZodNumber;
    staleAfterMs: z.ZodNumber;
    planLabel: z.ZodNullable<z.ZodString>;
    accountLabel: z.ZodNullable<z.ZodString>;
    meters: z.ZodArray<z.ZodObject<{
        meterId: z.ZodString;
        label: z.ZodString;
        used: z.ZodNullable<z.ZodNumber>;
        limit: z.ZodNullable<z.ZodNumber>;
        unit: z.ZodEnum<{
            unknown: "unknown";
            tokens: "tokens";
            count: "count";
            credits: "credits";
            usd: "usd";
            requests: "requests";
        }>;
        utilizationPct: z.ZodNullable<z.ZodNumber>;
        resetsAt: z.ZodNullable<z.ZodNumber>;
        status: z.ZodEnum<{
            ok: "ok";
            unavailable: "unavailable";
            estimated: "estimated";
        }>;
        details: z.ZodDefault<z.ZodOptional<z.ZodObject<{
            note: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        }, z.core.$strip>>>;
    }, z.core.$strip>>;
}, z.core.$strip>;
export type ConnectedServiceQuotaSnapshotV1 = z.infer<typeof ConnectedServiceQuotaSnapshotV1Schema>;
export declare const SealedConnectedServiceQuotaSnapshotV1Schema: z.ZodObject<{
    format: z.ZodEnum<{
        account_scoped_v1: "account_scoped_v1";
    }>;
    ciphertext: z.ZodString;
}, z.core.$strip>;
export type SealedConnectedServiceQuotaSnapshotV1 = z.infer<typeof SealedConnectedServiceQuotaSnapshotV1Schema>;
//# sourceMappingURL=connectedServiceSchemas.d.ts.map