import * as z from "zod";
import { CompleteTeam, CompleteRolePermission, CompleteMembership } from "./index";
export declare const _RoleModel: z.ZodObject<{
    id: z.ZodString;
    name: z.ZodString;
    description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    teamId: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
    createdAt: z.ZodDate;
    updatedAt: z.ZodDate;
    type: z.ZodNativeEnum<{
        SYSTEM: "SYSTEM";
        CUSTOM: "CUSTOM";
    }>;
}, "strip", z.ZodTypeAny, {
    name: string;
    id: string;
    type: "CUSTOM" | "SYSTEM";
    createdAt: Date;
    updatedAt: Date;
    description?: string | null | undefined;
    teamId?: number | null | undefined;
}, {
    name: string;
    id: string;
    type: "CUSTOM" | "SYSTEM";
    createdAt: Date;
    updatedAt: Date;
    description?: string | null | undefined;
    teamId?: number | null | undefined;
}>;
export interface CompleteRole extends z.infer<typeof _RoleModel> {
    team?: CompleteTeam | null;
    permissions: CompleteRolePermission[];
    memberships: CompleteMembership[];
}
/**
 * RoleModel 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 RoleModel: z.ZodSchema<CompleteRole>;
//# sourceMappingURL=role.d.ts.map