import { type AbilityBuilder } from '@casl/ability';
import { type MemberAbility } from './types';
type OptionalIdContext = {
    organizationUuid: string;
    projectUuid?: never;
} | {
    projectUuid: string;
    organizationUuid?: never;
};
type BuilderOptions = {
    userUuid: string;
    scopes: string[];
    isEnterprise: boolean | undefined;
    organizationRole?: string;
    permissionsConfig?: {
        pat: {
            enabled: boolean;
            allowedOrgRoles: string[];
        };
    };
} & OptionalIdContext;
/**
 * Apply CASL abilities from scopes to a builder
 * @param context - Context containing organization, project, user, and space access information
 * @param builder - CASL ability builder to add permissions to
 */
export declare const buildAbilityFromScopes: (context: BuilderOptions, builder: AbilityBuilder<MemberAbility>) => void;
export {};
//# sourceMappingURL=scopeAbilityBuilder.d.ts.map