import type { Prisma } from '../../../prisma-client';
import type { TServiceAccountKeySchema } from '../../../prisma/zod-utils';
export declare class WorkspacePlatformRepository {
    private static withParsedServiceAccountKey;
    static create(data: {
        slug: string;
        name: string;
        description: string;
        defaultServiceAccountKey: TServiceAccountKeySchema;
        enabled: boolean;
    }): Promise<{
        id: number;
        name: string;
        enabled: boolean;
        description: string;
        slug: string;
        createdAt: Date;
        updatedAt: Date;
        defaultServiceAccountKey: Prisma.JsonValue;
    }>;
    static findAll(): Promise<{
        id: number;
        name: string;
        enabled: boolean;
        description: string;
        slug: string;
    }[]>;
    static findAllBySlug({ slug }: {
        slug: string;
    }): Promise<{
        id: number;
        name: string;
        enabled: boolean;
        description: string;
        slug: string;
    }[]>;
    static findBySlug({ slug }: {
        slug: string;
    }): Promise<{
        id: number;
        name: string;
        enabled: boolean;
        description: string;
        slug: string;
    } | null>;
    static findBySlugIncludeSensitiveServiceAccountKey({ slug }: {
        slug: string;
    }): Promise<({
        id: number;
        name: string;
        enabled: boolean;
        description: string;
        slug: string;
        defaultServiceAccountKey: Prisma.JsonValue;
    } & {
        defaultServiceAccountKey: import("zod").objectOutputType<{
            type: import("zod").ZodString;
            client_id: import("zod").ZodString;
            client_email: import("zod").ZodString;
            private_key: import("zod").ZodString;
        }, import("zod").ZodTypeAny, "passthrough">;
    }) | null>;
    static updateById({ id, data, }: {
        id: number;
        data: Partial<{
            slug: string;
            name: string;
            description: string;
            defaultServiceAccountKey: TServiceAccountKeySchema;
            enabled: boolean;
        }>;
    }): Promise<{
        id: number;
        name: string;
        enabled: boolean;
        description: string;
        slug: string;
        createdAt: Date;
        updatedAt: Date;
        defaultServiceAccountKey: Prisma.JsonValue;
    }>;
}
//# sourceMappingURL=workspacePlatform.d.ts.map