/**
 * User-facing effective permission view.
 *
 * This is a read model over the compiled runtime policy for showing what the
 * current session can do right now without exposing internal enforcement state.
 */
import type { RuntimeCapabilityId, RuntimePermissionPolicy } from '../../core/permission-policy.js';
export interface EffectivePermissionCapabilityView {
    capabilityId: RuntimeCapabilityId;
    label: string;
    status: 'enabled' | 'approval_required' | 'denied';
    summary: string;
}
export interface EffectivePermissionView {
    modeName?: string;
    dangerouslySkipRuntimePermissions: boolean;
    headlessApprovalsDenied: boolean;
    headlessSpreadsheetApprovalsDenied: boolean;
    capabilities: EffectivePermissionCapabilityView[];
}
export declare function buildEffectivePermissionView(policy: RuntimePermissionPolicy): EffectivePermissionView;
export declare function formatEffectivePermissionView(view: EffectivePermissionView): string;
//# sourceMappingURL=effective-view.d.ts.map