import type { CredentialForCalendarServiceWithEmail } from "@calcom/types/Credential";
export declare function createInMemoryCredential({ userId, delegationCredentialId, delegatedTo, }: {
    userId: number;
    delegationCredentialId: string;
    delegatedTo: NonNullable<CredentialForCalendarServiceWithEmail["delegatedTo"]>;
}): {
    id: number;
    userId: number;
    key: {
        access_token: string;
    };
    invalid: boolean;
    teamId: null;
    team: null;
    type: string;
    appId: string;
    delegatedToId: string;
    delegatedTo: {
        serviceAccountKey: {
            client_email: string;
            tenant_id?: undefined;
            client_id: string;
            private_key: string;
        };
    } | null;
};
export declare function createCredentialForCalendarService({ user, delegatedTo, delegationCredentialId, }?: {
    user?: {
        email: string | null;
    };
    delegatedTo?: NonNullable<CredentialForCalendarServiceWithEmail["delegatedTo"]> | null;
    delegationCredentialId?: string | null;
}): Promise<CredentialForCalendarServiceWithEmail>;
export declare const defaultDelegatedCredential: {
    readonly serviceAccountKey: {
        readonly client_email: "service@example.com";
        readonly client_id: "service-client-id";
        readonly private_key: "service-private-key";
    };
};
export declare function createInMemoryDelegationCredentialForCalendarService({ user, delegatedTo, delegationCredentialId, }: {
    user?: {
        email: string | null;
    } | null;
    delegatedTo?: typeof defaultDelegatedCredential;
    delegationCredentialId: string;
}): Promise<CredentialForCalendarServiceWithEmail>;
export declare const createMockJWTInstance: ({ email, authorizeError, tokenExpiryDate, }: {
    email?: string;
    authorizeError?: {
        response?: {
            data?: {
                error?: string;
            };
        };
    } | Error;
    tokenExpiryDate?: number;
}) => {
    type: "jwt";
    config: {
        email: "service@example.com";
        key: "service-private-key";
        scopes: string[];
        subject: string;
    };
    authorize: import("vitest").Mock<(...args: any[]) => any>;
    createScoped: import("vitest").Mock<(...args: any[]) => any>;
    getRequestMetadataAsync: import("vitest").Mock<(...args: any[]) => any>;
    fetchIdToken: import("vitest").Mock<(...args: any[]) => any>;
    hasUserScopes: import("vitest").Mock<(...args: any[]) => any>;
    getAccessToken: import("vitest").Mock<(...args: any[]) => any>;
    getRefreshToken: import("vitest").Mock<(...args: any[]) => any>;
    getTokenInfo: import("vitest").Mock<(...args: any[]) => any>;
    refreshAccessToken: import("vitest").Mock<(...args: any[]) => any>;
    revokeCredentials: import("vitest").Mock<(...args: any[]) => any>;
    revokeToken: import("vitest").Mock<(...args: any[]) => any>;
    verifyIdToken: import("vitest").Mock<(...args: any[]) => any>;
    on: import("vitest").Mock<(...args: any[]) => any>;
    setCredentials: import("vitest").Mock<(...args: any[]) => any>;
    getCredentials: import("vitest").Mock<(...args: any[]) => any>;
    hasAnyScopes: import("vitest").Mock<(...args: any[]) => any>;
    authorizeAsync: import("vitest").Mock<(...args: any[]) => any>;
    refreshTokenNoCache: import("vitest").Mock<(...args: any[]) => any>;
    createGToken: import("vitest").Mock<(...args: any[]) => any>;
};
//# sourceMappingURL=utils.d.ts.map