import type { NativeRoleMembership, NativeRoleMembershipBatchItem, NativeRoleMembershipBatchItemResult, NativeAuthorizationMutationReceipt } from 'openxiangda-contracts/browser'; export type MembershipBatchSettings = { reason: string; scopeMode: 'keep' | 'replace_dimension' | 'clear_all'; dimensionCode?: string; scopeValues: string[]; fromMode: 'keep' | 'set' | 'clear'; toMode: 'keep' | 'set' | 'clear'; validFrom?: string; validTo?: string; }; export declare function membershipBatchItems(operation: 'create' | 'update' | 'revoke', rows: NativeRoleMembership[], users: string[], roleCode: string, settings: MembershipBatchSettings, newKey?: () => string): NativeRoleMembershipBatchItem[]; /** Only confirmed failures can acquire a new intent; all unknown operations retain their keys. */ export declare function membershipBatchPending(items: NativeRoleMembershipBatchItem[], outcomes: Record, receipts: Record): NativeRoleMembershipBatchItem[]; export declare function membershipBatchReceiptMatches(item: NativeRoleMembershipBatchItem, receipt: NativeAuthorizationMutationReceipt): boolean; export declare function membershipBatchMerge(items: NativeRoleMembershipBatchItem[], outcomes: Record, received: NativeRoleMembershipBatchItemResult[]): Record; //# sourceMappingURL=membership-batch-model.d.ts.map