import { NumberType } from "../string-numbers"; import { UserPermissions } from "./permissions"; import { Balance, MerkleChallenge, MustOwnBadges, UintRange } from "./typeUtils"; export interface UserBalanceStore { balances: Balance[]; incomingApprovals: UserIncomingApproval[]; outgoingApprovals: UserOutgoingApproval[]; userPermissions: UserPermissions; autoApproveSelfInitiatedOutgoingTransfers: boolean; autoApproveSelfInitiatedIncomingTransfers: boolean; } export declare function convertUserBalanceStore(store: UserBalanceStore, convertFunction: (item: T) => U): UserBalanceStore; export interface UserOutgoingApproval { toListId: string; initiatedByListId: string; transferTimes: UintRange[]; badgeIds: UintRange[]; ownershipTimes: UintRange[]; approvalId: string; amountTrackerId: string; challengeTrackerId: string; uri?: string; customData?: string; approvalCriteria?: OutgoingApprovalCriteria; } export declare function convertUserOutgoingApproval(transfer: UserOutgoingApproval, convertFunction: (item: T) => U, populateOptionalFields?: boolean): UserOutgoingApproval; export interface OutgoingApprovalCriteria { mustOwnBadges?: MustOwnBadges[]; merkleChallenge?: MerkleChallenge; predeterminedBalances?: PredeterminedBalances; approvalAmounts?: ApprovalAmounts; maxNumTransfers?: MaxNumTransfers; requireToEqualsInitiatedBy?: boolean; requireToDoesNotEqualInitiatedBy?: boolean; } export declare function convertOutgoingApprovalCriteria(details: OutgoingApprovalCriteria, convertFunction: (item: T) => U): OutgoingApprovalCriteria; export interface PredeterminedBalances { manualBalances: ManualBalances[]; incrementedBalances: IncrementedBalances; orderCalculationMethod: PredeterminedOrderCalculationMethod; } export declare function convertPredeterminedBalances(balances: PredeterminedBalances, convertFunction: (item: T) => U): PredeterminedBalances; export interface ManualBalances { balances: Balance[]; } export declare function convertManualBalances(balances: ManualBalances, convertFunction: (item: T) => U): ManualBalances; export interface IncrementedBalances { startBalances: Balance[]; incrementBadgeIdsBy: T; incrementOwnershipTimesBy: T; } export declare function convertIncrementedBalances(balances: IncrementedBalances, convertFunction: (item: T) => U): IncrementedBalances; export interface PredeterminedOrderCalculationMethod { useOverallNumTransfers: boolean; usePerToAddressNumTransfers: boolean; usePerFromAddressNumTransfers: boolean; usePerInitiatedByAddressNumTransfers: boolean; useMerkleChallengeLeafIndex: boolean; } export interface ApprovalAmounts { overallApprovalAmount: T; perToAddressApprovalAmount: T; perFromAddressApprovalAmount: T; perInitiatedByAddressApprovalAmount: T; } export declare function convertApprovalAmounts(amounts: ApprovalAmounts, convertFunction: (item: T) => U): ApprovalAmounts; export interface MaxNumTransfers { overallMaxNumTransfers: T; perToAddressMaxNumTransfers: T; perFromAddressMaxNumTransfers: T; perInitiatedByAddressMaxNumTransfers: T; } export declare function convertMaxNumTransfers(amounts: MaxNumTransfers, convertFunction: (item: T) => U): MaxNumTransfers; export interface UserIncomingApproval { fromListId: string; initiatedByListId: string; transferTimes: UintRange[]; badgeIds: UintRange[]; ownershipTimes: UintRange[]; approvalId: string; amountTrackerId: string; challengeTrackerId: string; uri?: string; customData?: string; approvalCriteria?: IncomingApprovalCriteria; } export declare function convertUserIncomingApproval(transfer: UserIncomingApproval, convertFunction: (item: T) => U, populateOptionalFields?: boolean): UserIncomingApproval; export interface IncomingApprovalCriteria { mustOwnBadges?: MustOwnBadges[]; merkleChallenge?: MerkleChallenge; predeterminedBalances?: PredeterminedBalances; approvalAmounts?: ApprovalAmounts; maxNumTransfers?: MaxNumTransfers; requireFromEqualsInitiatedBy?: boolean; requireFromDoesNotEqualInitiatedBy?: boolean; } export declare function convertIncomingApprovalCriteria(details: IncomingApprovalCriteria, convertFunction: (item: T) => U): IncomingApprovalCriteria; export interface CollectionApproval { toListId: string; fromListId: string; initiatedByListId: string; transferTimes: UintRange[]; badgeIds: UintRange[]; ownershipTimes: UintRange[]; approvalId: string; amountTrackerId: string; challengeTrackerId: string; uri?: string; customData?: string; approvalCriteria?: ApprovalCriteria; } export declare function convertCollectionApproval(transfer: CollectionApproval, convertFunction: (item: T) => U, populateOptionalFields?: boolean): CollectionApproval; export interface ApprovalCriteria { mustOwnBadges?: MustOwnBadges[]; merkleChallenge?: MerkleChallenge; predeterminedBalances?: PredeterminedBalances; approvalAmounts?: ApprovalAmounts; maxNumTransfers?: MaxNumTransfers; requireToEqualsInitiatedBy?: boolean; requireFromEqualsInitiatedBy?: boolean; requireToDoesNotEqualInitiatedBy?: boolean; requireFromDoesNotEqualInitiatedBy?: boolean; overridesFromOutgoingApprovals?: boolean; overridesToIncomingApprovals?: boolean; } export declare function convertApprovalCriteria(details: ApprovalCriteria, convertFunction: (item: T) => U): ApprovalCriteria; //# sourceMappingURL=approvals.d.ts.map