import { GeneratePolicySnapshotProps } from '../GeneratePolicySnapshot.js'; type RBACResource = { type: string; tenant: string; }; type RBACConfig = { user: string; action: string; resource: RBACResource; result: boolean; }; type ABACUser = { key: string; attributes: { [key: string]: string; }; }; type ABACResource = { key: string; attributes: { [key: string]: string; }; }; type ABACConfig = { user: ABACUser; action: string; resource: ABACResource; result: boolean; }; type ReBACConfig = { user: string; action: string; resource: string; result: boolean; }; type AccessControlConfig = RBACConfig | ABACConfig | ReBACConfig; type DryUser = { key: string; email: string; firstName: string; lastName: string; roles: string[]; }; export declare const useGeneratePolicySnapshot: ({ dryRun, models, path, isTestTenant, }: GeneratePolicySnapshotProps) => { state: "resources" | "done" | "roles" | "rbac-tenant" | "rbac-users" | "rbac-generate"; error: string | null; roles: { name: string; description?: string; permissions?: string[]; attributes?: Record; extends?: string[]; granted_to: import("../../../lib/api/v1.js").components["schemas"]["DerivedRoleBlockRead"]; v1compat_settings?: Record; v1compat_attributes?: Record; key: string; id: string; organization_id: string; project_id: string; environment_id: string; created_at: string; updated_at: string; }[]; tenantId: string | undefined; finalConfig: AccessControlConfig[]; dryUsers: DryUser[]; createdUsers: DryUser[]; }; export {};