import * as z from "zod";
import { CompleteUser, CompleteTeam, CompleteApp, CompleteDestinationCalendar, CompleteSelectedCalendar, CompleteCalendarCache, CompleteBookingReference } from "./index";
type Literal = boolean | number | string;
type Json = Literal | {
    [key: string]: Json;
} | Json[];
export declare const _CredentialModel: z.ZodObject<{
    id: z.ZodNumber;
    type: z.ZodString;
    key: z.ZodType<Json, z.ZodTypeDef, Json>;
    userId: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
    teamId: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
    appId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    subscriptionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    paymentStatus: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    billingCycleStart: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
    invalid: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
}, "strip", z.ZodTypeAny, {
    key: Json & (Json | undefined);
    id: number;
    type: string;
    userId?: number | null | undefined;
    teamId?: number | null | undefined;
    appId?: string | null | undefined;
    subscriptionId?: string | null | undefined;
    paymentStatus?: string | null | undefined;
    billingCycleStart?: number | null | undefined;
    invalid?: boolean | null | undefined;
}, {
    key: Json & (Json | undefined);
    id: number;
    type: string;
    userId?: number | null | undefined;
    teamId?: number | null | undefined;
    appId?: string | null | undefined;
    subscriptionId?: string | null | undefined;
    paymentStatus?: string | null | undefined;
    billingCycleStart?: number | null | undefined;
    invalid?: boolean | null | undefined;
}>;
export interface CompleteCredential extends z.infer<typeof _CredentialModel> {
    user?: CompleteUser | null;
    team?: CompleteTeam | null;
    app?: CompleteApp | null;
    destinationCalendars: CompleteDestinationCalendar[];
    selectedCalendars: CompleteSelectedCalendar[];
    CalendarCache: CompleteCalendarCache[];
    references: CompleteBookingReference[];
}
/**
 * CredentialModel contains all relations on your model in addition to the scalars
 *
 * NOTE: Lazy required in case of potential circular dependencies within schema
 */
export declare const CredentialModel: z.ZodSchema<CompleteCredential>;
export {};
//# sourceMappingURL=credential.d.ts.map