import type { PermissionString } from '../../../../../features/pbac/types/permission-registry';
export declare const permissionsRouter: import("@trpc/server/dist/unstable-core-do-not-import").CreateRouterInner<import("@trpc/server/dist/unstable-core-do-not-import").RootConfig<{
    ctx: import("../../../createContext").InnerContext;
    meta: object;
    errorShape: {
        message: string;
        code: number;
        data: {
            code: string;
            httpStatus: number;
            path?: string;
            [key: string]: unknown;
        };
    };
    transformer: {
        stringify: (object: any) => string;
        parse: <T = unknown>(string: string) => T;
        serialize: (object: any) => import("superjson/dist/types").SuperJSONResult;
        deserialize: <T_1 = unknown>(payload: import("superjson/dist/types").SuperJSONResult) => T_1;
        registerClass: (v: import("superjson/dist/types").Class, options?: string | import("superjson/dist/class-registry").RegisterOptions | undefined) => void;
        registerSymbol: (v: Symbol, identifier?: string | undefined) => void;
        registerCustom: <I, O extends import("superjson/dist/types").JSONValue>(transformer: Omit<import("superjson/dist/custom-transformer-registry").CustomTransfomer<I, O>, "name">, name: string) => void;
        allowErrorProps: (...props: string[]) => void;
    };
}>, {
    getUserPermissions: import("@trpc/server/dist/unstable-core-do-not-import").QueryProcedure<{
        input: void;
        output: Record<number, {
            roleId: string;
            permissions: PermissionString[];
        }>;
    }>;
    checkPermission: import("@trpc/server/dist/unstable-core-do-not-import").QueryProcedure<{
        input: {
            teamId: number;
            permission: "eventType.create" | "eventType.read" | "eventType.update" | "eventType.delete" | "eventType.*" | "booking.create" | "booking.read" | "booking.update" | "booking.delete" | "booking.*" | "team.create" | "team.read" | "team.update" | "team.delete" | "team.*" | "organization.create" | "organization.read" | "organization.update" | "organization.delete" | "organization.*" | "insights.create" | "insights.read" | "insights.update" | "insights.delete" | "insights.*" | "availability.create" | "availability.read" | "availability.update" | "availability.delete" | "availability.*" | "workflow.create" | "workflow.read" | "workflow.update" | "workflow.delete" | "workflow.*" | "routingForm.create" | "routingForm.read" | "routingForm.update" | "routingForm.delete" | "routingForm.*" | "apiKey.create" | "apiKey.read" | "apiKey.update" | "apiKey.delete" | "apiKey.*" | "*.create" | "*.read" | "*.update" | "*.delete" | "*.*" | "eventType.manage" | "eventType.invite" | "eventType.remove" | "eventType.override" | "eventType.readRecordings" | "eventType.manageBilling" | "eventType.changeMemberRole" | "eventType.listMembers" | "eventType.readTeamBookings" | "eventType.readOrgBookings" | "eventType.findKeyOfType" | "booking.manage" | "booking.invite" | "booking.remove" | "booking.override" | "booking.readRecordings" | "booking.manageBilling" | "booking.changeMemberRole" | "booking.listMembers" | "booking.readTeamBookings" | "booking.readOrgBookings" | "booking.findKeyOfType" | "team.manage" | "team.invite" | "team.remove" | "team.override" | "team.readRecordings" | "team.manageBilling" | "team.changeMemberRole" | "team.listMembers" | "team.readTeamBookings" | "team.readOrgBookings" | "team.findKeyOfType" | "organization.manage" | "organization.invite" | "organization.remove" | "organization.override" | "organization.readRecordings" | "organization.manageBilling" | "organization.changeMemberRole" | "organization.listMembers" | "organization.readTeamBookings" | "organization.readOrgBookings" | "organization.findKeyOfType" | "insights.manage" | "insights.invite" | "insights.remove" | "insights.override" | "insights.readRecordings" | "insights.manageBilling" | "insights.changeMemberRole" | "insights.listMembers" | "insights.readTeamBookings" | "insights.readOrgBookings" | "insights.findKeyOfType" | "availability.manage" | "availability.invite" | "availability.remove" | "availability.override" | "availability.readRecordings" | "availability.manageBilling" | "availability.changeMemberRole" | "availability.listMembers" | "availability.readTeamBookings" | "availability.readOrgBookings" | "availability.findKeyOfType" | "workflow.manage" | "workflow.invite" | "workflow.remove" | "workflow.override" | "workflow.readRecordings" | "workflow.manageBilling" | "workflow.changeMemberRole" | "workflow.listMembers" | "workflow.readTeamBookings" | "workflow.readOrgBookings" | "workflow.findKeyOfType" | "routingForm.manage" | "routingForm.invite" | "routingForm.remove" | "routingForm.override" | "routingForm.readRecordings" | "routingForm.manageBilling" | "routingForm.changeMemberRole" | "routingForm.listMembers" | "routingForm.readTeamBookings" | "routingForm.readOrgBookings" | "routingForm.findKeyOfType" | "apiKey.manage" | "apiKey.invite" | "apiKey.remove" | "apiKey.override" | "apiKey.readRecordings" | "apiKey.manageBilling" | "apiKey.changeMemberRole" | "apiKey.listMembers" | "apiKey.readTeamBookings" | "apiKey.readOrgBookings" | "apiKey.findKeyOfType" | "*.manage" | "*.invite" | "*.remove" | "*.override" | "*.readRecordings" | "*.manageBilling" | "*.changeMemberRole" | "*.listMembers" | "*.readTeamBookings" | "*.readOrgBookings" | "*.findKeyOfType";
        };
        output: boolean;
    }>;
    checkPermissions: import("@trpc/server/dist/unstable-core-do-not-import").QueryProcedure<{
        input: {
            permissions: PermissionString[];
            teamId: number;
        };
        output: boolean;
    }>;
}>;
//# sourceMappingURL=_router.d.ts.map