import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from 'ethers';
import type { FunctionFragment, Result, EventFragment } from '@ethersproject/abi';
import type { Listener, Provider } from '@ethersproject/providers';
import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from './common';
export interface AmpStakingInterface extends utils.Interface {
    functions: {
        'addPartition(bytes32)': FunctionFragment;
        'addWithdrawalRoot(bytes32,uint256,bytes32[])': FunctionFragment;
        'addressToCumulativeAmountWithdrawn(bytes32,address)': FunctionFragment;
        'addressToWithdrawalNonce(bytes32,address)': FunctionFragment;
        'amp()': FunctionFragment;
        'assumeOwnership()': FunctionFragment;
        'authorizeOwnershipTransfer(address)': FunctionFragment;
        'authorizedNewOwner()': FunctionFragment;
        'canReceive(bytes4,bytes32,address,address,address,uint256,bytes,bytes)': FunctionFragment;
        'canTransfer(bytes4,bytes32,address,address,address,uint256,bytes,bytes)': FunctionFragment;
        'directTransferer()': FunctionFragment;
        'fallbackMaxIncludedSupplyNonce()': FunctionFragment;
        'fallbackPublisher()': FunctionFragment;
        'fallbackRoot()': FunctionFragment;
        'fallbackSetDate()': FunctionFragment;
        'fallbackWithdrawalDelaySeconds()': FunctionFragment;
        'maxWithdrawalRootNonce()': FunctionFragment;
        'modifyWithdrawalLimit(int256)': FunctionFragment;
        'nonceToSupply(uint256)': FunctionFragment;
        'owner()': FunctionFragment;
        'partitionManager()': FunctionFragment;
        'partitions(bytes32)': FunctionFragment;
        'removePartition(bytes32)': FunctionFragment;
        'removeWithdrawalRoots(bytes32[])': FunctionFragment;
        'requestRelease(bytes32,uint256,bytes)': FunctionFragment;
        'resetFallbackMechanismDate()': FunctionFragment;
        'setDirectTransferer(address)': FunctionFragment;
        'setFallbackPublisher(address)': FunctionFragment;
        'setFallbackRoot(bytes32,uint256)': FunctionFragment;
        'setFallbackWithdrawalDelay(uint256)': FunctionFragment;
        'setPartitionManager(address)': FunctionFragment;
        'setWithdrawalLimitPublisher(address)': FunctionFragment;
        'setWithdrawalPublisher(address)': FunctionFragment;
        'supplyNonce()': FunctionFragment;
        'tokensReceived(bytes4,bytes32,address,address,address,uint256,bytes,bytes)': FunctionFragment;
        'tokensToTransfer(bytes4,bytes32,address,address,address,uint256,bytes,bytes)': FunctionFragment;
        'withdrawalLimit()': FunctionFragment;
        'withdrawalLimitPublisher()': FunctionFragment;
        'withdrawalPublisher()': FunctionFragment;
        'withdrawalRootToNonce(bytes32)': FunctionFragment;
    };
    getFunction(nameOrSignatureOrTopic: 'addPartition' | 'addWithdrawalRoot' | 'addressToCumulativeAmountWithdrawn' | 'addressToWithdrawalNonce' | 'amp' | 'assumeOwnership' | 'authorizeOwnershipTransfer' | 'authorizedNewOwner' | 'canReceive' | 'canTransfer' | 'directTransferer' | 'fallbackMaxIncludedSupplyNonce' | 'fallbackPublisher' | 'fallbackRoot' | 'fallbackSetDate' | 'fallbackWithdrawalDelaySeconds' | 'maxWithdrawalRootNonce' | 'modifyWithdrawalLimit' | 'nonceToSupply' | 'owner' | 'partitionManager' | 'partitions' | 'removePartition' | 'removeWithdrawalRoots' | 'requestRelease' | 'resetFallbackMechanismDate' | 'setDirectTransferer' | 'setFallbackPublisher' | 'setFallbackRoot' | 'setFallbackWithdrawalDelay' | 'setPartitionManager' | 'setWithdrawalLimitPublisher' | 'setWithdrawalPublisher' | 'supplyNonce' | 'tokensReceived' | 'tokensToTransfer' | 'withdrawalLimit' | 'withdrawalLimitPublisher' | 'withdrawalPublisher' | 'withdrawalRootToNonce'): FunctionFragment;
    encodeFunctionData(functionFragment: 'addPartition', values: [PromiseOrValue<BytesLike>]): string;
    encodeFunctionData(functionFragment: 'addWithdrawalRoot', values: [PromiseOrValue<BytesLike>, PromiseOrValue<BigNumberish>, PromiseOrValue<BytesLike>[]]): string;
    encodeFunctionData(functionFragment: 'addressToCumulativeAmountWithdrawn', values: [PromiseOrValue<BytesLike>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'addressToWithdrawalNonce', values: [PromiseOrValue<BytesLike>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'amp', values?: undefined): string;
    encodeFunctionData(functionFragment: 'assumeOwnership', values?: undefined): string;
    encodeFunctionData(functionFragment: 'authorizeOwnershipTransfer', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'authorizedNewOwner', values?: undefined): string;
    encodeFunctionData(functionFragment: 'canReceive', values: [
        PromiseOrValue<BytesLike>,
        PromiseOrValue<BytesLike>,
        PromiseOrValue<string>,
        PromiseOrValue<string>,
        PromiseOrValue<string>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BytesLike>,
        PromiseOrValue<BytesLike>
    ]): string;
    encodeFunctionData(functionFragment: 'canTransfer', values: [
        PromiseOrValue<BytesLike>,
        PromiseOrValue<BytesLike>,
        PromiseOrValue<string>,
        PromiseOrValue<string>,
        PromiseOrValue<string>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BytesLike>,
        PromiseOrValue<BytesLike>
    ]): string;
    encodeFunctionData(functionFragment: 'directTransferer', values?: undefined): string;
    encodeFunctionData(functionFragment: 'fallbackMaxIncludedSupplyNonce', values?: undefined): string;
    encodeFunctionData(functionFragment: 'fallbackPublisher', values?: undefined): string;
    encodeFunctionData(functionFragment: 'fallbackRoot', values?: undefined): string;
    encodeFunctionData(functionFragment: 'fallbackSetDate', values?: undefined): string;
    encodeFunctionData(functionFragment: 'fallbackWithdrawalDelaySeconds', values?: undefined): string;
    encodeFunctionData(functionFragment: 'maxWithdrawalRootNonce', values?: undefined): string;
    encodeFunctionData(functionFragment: 'modifyWithdrawalLimit', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'nonceToSupply', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'owner', values?: undefined): string;
    encodeFunctionData(functionFragment: 'partitionManager', values?: undefined): string;
    encodeFunctionData(functionFragment: 'partitions', values: [PromiseOrValue<BytesLike>]): string;
    encodeFunctionData(functionFragment: 'removePartition', values: [PromiseOrValue<BytesLike>]): string;
    encodeFunctionData(functionFragment: 'removeWithdrawalRoots', values: [PromiseOrValue<BytesLike>[]]): string;
    encodeFunctionData(functionFragment: 'requestRelease', values: [PromiseOrValue<BytesLike>, PromiseOrValue<BigNumberish>, PromiseOrValue<BytesLike>]): string;
    encodeFunctionData(functionFragment: 'resetFallbackMechanismDate', values?: undefined): string;
    encodeFunctionData(functionFragment: 'setDirectTransferer', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'setFallbackPublisher', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'setFallbackRoot', values: [PromiseOrValue<BytesLike>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'setFallbackWithdrawalDelay', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'setPartitionManager', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'setWithdrawalLimitPublisher', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'setWithdrawalPublisher', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'supplyNonce', values?: undefined): string;
    encodeFunctionData(functionFragment: 'tokensReceived', values: [
        PromiseOrValue<BytesLike>,
        PromiseOrValue<BytesLike>,
        PromiseOrValue<string>,
        PromiseOrValue<string>,
        PromiseOrValue<string>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BytesLike>,
        PromiseOrValue<BytesLike>
    ]): string;
    encodeFunctionData(functionFragment: 'tokensToTransfer', values: [
        PromiseOrValue<BytesLike>,
        PromiseOrValue<BytesLike>,
        PromiseOrValue<string>,
        PromiseOrValue<string>,
        PromiseOrValue<string>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BytesLike>,
        PromiseOrValue<BytesLike>
    ]): string;
    encodeFunctionData(functionFragment: 'withdrawalLimit', values?: undefined): string;
    encodeFunctionData(functionFragment: 'withdrawalLimitPublisher', values?: undefined): string;
    encodeFunctionData(functionFragment: 'withdrawalPublisher', values?: undefined): string;
    encodeFunctionData(functionFragment: 'withdrawalRootToNonce', values: [PromiseOrValue<BytesLike>]): string;
    decodeFunctionResult(functionFragment: 'addPartition', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'addWithdrawalRoot', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'addressToCumulativeAmountWithdrawn', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'addressToWithdrawalNonce', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'amp', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'assumeOwnership', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'authorizeOwnershipTransfer', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'authorizedNewOwner', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'canReceive', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'canTransfer', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'directTransferer', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'fallbackMaxIncludedSupplyNonce', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'fallbackPublisher', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'fallbackRoot', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'fallbackSetDate', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'fallbackWithdrawalDelaySeconds', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'maxWithdrawalRootNonce', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'modifyWithdrawalLimit', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'nonceToSupply', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'owner', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'partitionManager', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'partitions', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'removePartition', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'removeWithdrawalRoots', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'requestRelease', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'resetFallbackMechanismDate', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setDirectTransferer', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setFallbackPublisher', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setFallbackRoot', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setFallbackWithdrawalDelay', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setPartitionManager', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setWithdrawalLimitPublisher', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setWithdrawalPublisher', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'supplyNonce', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'tokensReceived', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'tokensToTransfer', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'withdrawalLimit', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'withdrawalLimitPublisher', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'withdrawalPublisher', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'withdrawalRootToNonce', data: BytesLike): Result;
    events: {
        'DirectTransfer(address,bytes32,address,bytes32,uint256)': EventFragment;
        'DirectTransfererUpdate(address,address)': EventFragment;
        'FallbackMechanismDateReset(uint256)': EventFragment;
        'FallbackPublisherUpdate(address,address)': EventFragment;
        'FallbackRootHashSet(bytes32,uint256,uint256)': EventFragment;
        'FallbackWithdrawal(address,bytes32,uint256)': EventFragment;
        'FallbackWithdrawalDelayUpdate(uint256,uint256)': EventFragment;
        'OwnerUpdate(address,address)': EventFragment;
        'OwnershipTransferAuthorization(address)': EventFragment;
        'PartitionAdded(bytes32)': EventFragment;
        'PartitionManagerUpdate(address,address)': EventFragment;
        'PartitionRemoved(bytes32)': EventFragment;
        'ReleaseRequest(address,bytes32,uint256,bytes)': EventFragment;
        'SupplyReceipt(address,bytes32,uint256,uint256)': EventFragment;
        'SupplyRefund(address,bytes32,uint256,uint256)': EventFragment;
        'Withdrawal(address,bytes32,uint256,uint256,uint256)': EventFragment;
        'WithdrawalLimitPublisherUpdate(address,address)': EventFragment;
        'WithdrawalLimitUpdate(uint256,uint256)': EventFragment;
        'WithdrawalPublisherUpdate(address,address)': EventFragment;
        'WithdrawalRootHashAddition(bytes32,uint256)': EventFragment;
        'WithdrawalRootHashRemoval(bytes32,uint256)': EventFragment;
    };
    getEvent(nameOrSignatureOrTopic: 'DirectTransfer'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'DirectTransfererUpdate'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'FallbackMechanismDateReset'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'FallbackPublisherUpdate'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'FallbackRootHashSet'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'FallbackWithdrawal'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'FallbackWithdrawalDelayUpdate'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'OwnerUpdate'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'OwnershipTransferAuthorization'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'PartitionAdded'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'PartitionManagerUpdate'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'PartitionRemoved'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'ReleaseRequest'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'SupplyReceipt'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'SupplyRefund'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'Withdrawal'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'WithdrawalLimitPublisherUpdate'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'WithdrawalLimitUpdate'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'WithdrawalPublisherUpdate'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'WithdrawalRootHashAddition'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'WithdrawalRootHashRemoval'): EventFragment;
}
export interface DirectTransferEventObject {
    operator: string;
    from_partition: string;
    to_address: string;
    to_partition: string;
    value: BigNumber;
}
export declare type DirectTransferEvent = TypedEvent<[string, string, string, string, BigNumber], DirectTransferEventObject>;
export declare type DirectTransferEventFilter = TypedEventFilter<DirectTransferEvent>;
export interface DirectTransfererUpdateEventObject {
    oldValue: string;
    newValue: string;
}
export declare type DirectTransfererUpdateEvent = TypedEvent<[string, string], DirectTransfererUpdateEventObject>;
export declare type DirectTransfererUpdateEventFilter = TypedEventFilter<DirectTransfererUpdateEvent>;
export interface FallbackMechanismDateResetEventObject {
    newDate: BigNumber;
}
export declare type FallbackMechanismDateResetEvent = TypedEvent<[BigNumber], FallbackMechanismDateResetEventObject>;
export declare type FallbackMechanismDateResetEventFilter = TypedEventFilter<FallbackMechanismDateResetEvent>;
export interface FallbackPublisherUpdateEventObject {
    oldValue: string;
    newValue: string;
}
export declare type FallbackPublisherUpdateEvent = TypedEvent<[string, string], FallbackPublisherUpdateEventObject>;
export declare type FallbackPublisherUpdateEventFilter = TypedEventFilter<FallbackPublisherUpdateEvent>;
export interface FallbackRootHashSetEventObject {
    rootHash: string;
    maxSupplyNonceIncluded: BigNumber;
    setDate: BigNumber;
}
export declare type FallbackRootHashSetEvent = TypedEvent<[string, BigNumber, BigNumber], FallbackRootHashSetEventObject>;
export declare type FallbackRootHashSetEventFilter = TypedEventFilter<FallbackRootHashSetEvent>;
export interface FallbackWithdrawalEventObject {
    supplier: string;
    partition: string;
    amount: BigNumber;
}
export declare type FallbackWithdrawalEvent = TypedEvent<[string, string, BigNumber], FallbackWithdrawalEventObject>;
export declare type FallbackWithdrawalEventFilter = TypedEventFilter<FallbackWithdrawalEvent>;
export interface FallbackWithdrawalDelayUpdateEventObject {
    oldValue: BigNumber;
    newValue: BigNumber;
}
export declare type FallbackWithdrawalDelayUpdateEvent = TypedEvent<[
    BigNumber,
    BigNumber
], FallbackWithdrawalDelayUpdateEventObject>;
export declare type FallbackWithdrawalDelayUpdateEventFilter = TypedEventFilter<FallbackWithdrawalDelayUpdateEvent>;
export interface OwnerUpdateEventObject {
    oldValue: string;
    newValue: string;
}
export declare type OwnerUpdateEvent = TypedEvent<[string, string], OwnerUpdateEventObject>;
export declare type OwnerUpdateEventFilter = TypedEventFilter<OwnerUpdateEvent>;
export interface OwnershipTransferAuthorizationEventObject {
    authorizedAddress: string;
}
export declare type OwnershipTransferAuthorizationEvent = TypedEvent<[string], OwnershipTransferAuthorizationEventObject>;
export declare type OwnershipTransferAuthorizationEventFilter = TypedEventFilter<OwnershipTransferAuthorizationEvent>;
export interface PartitionAddedEventObject {
    partition: string;
}
export declare type PartitionAddedEvent = TypedEvent<[string], PartitionAddedEventObject>;
export declare type PartitionAddedEventFilter = TypedEventFilter<PartitionAddedEvent>;
export interface PartitionManagerUpdateEventObject {
    oldValue: string;
    newValue: string;
}
export declare type PartitionManagerUpdateEvent = TypedEvent<[string, string], PartitionManagerUpdateEventObject>;
export declare type PartitionManagerUpdateEventFilter = TypedEventFilter<PartitionManagerUpdateEvent>;
export interface PartitionRemovedEventObject {
    partition: string;
}
export declare type PartitionRemovedEvent = TypedEvent<[string], PartitionRemovedEventObject>;
export declare type PartitionRemovedEventFilter = TypedEventFilter<PartitionRemovedEvent>;
export interface ReleaseRequestEventObject {
    supplier: string;
    partition: string;
    amount: BigNumber;
    data: string;
}
export declare type ReleaseRequestEvent = TypedEvent<[string, string, BigNumber, string], ReleaseRequestEventObject>;
export declare type ReleaseRequestEventFilter = TypedEventFilter<ReleaseRequestEvent>;
export interface SupplyReceiptEventObject {
    supplier: string;
    partition: string;
    amount: BigNumber;
    nonce: BigNumber;
}
export declare type SupplyReceiptEvent = TypedEvent<[string, string, BigNumber, BigNumber], SupplyReceiptEventObject>;
export declare type SupplyReceiptEventFilter = TypedEventFilter<SupplyReceiptEvent>;
export interface SupplyRefundEventObject {
    supplier: string;
    partition: string;
    amount: BigNumber;
    nonce: BigNumber;
}
export declare type SupplyRefundEvent = TypedEvent<[string, string, BigNumber, BigNumber], SupplyRefundEventObject>;
export declare type SupplyRefundEventFilter = TypedEventFilter<SupplyRefundEvent>;
export interface WithdrawalEventObject {
    supplier: string;
    partition: string;
    amount: BigNumber;
    rootNonce: BigNumber;
    authorizedAccountNonce: BigNumber;
}
export declare type WithdrawalEvent = TypedEvent<[string, string, BigNumber, BigNumber, BigNumber], WithdrawalEventObject>;
export declare type WithdrawalEventFilter = TypedEventFilter<WithdrawalEvent>;
export interface WithdrawalLimitPublisherUpdateEventObject {
    oldValue: string;
    newValue: string;
}
export declare type WithdrawalLimitPublisherUpdateEvent = TypedEvent<[
    string,
    string
], WithdrawalLimitPublisherUpdateEventObject>;
export declare type WithdrawalLimitPublisherUpdateEventFilter = TypedEventFilter<WithdrawalLimitPublisherUpdateEvent>;
export interface WithdrawalLimitUpdateEventObject {
    oldValue: BigNumber;
    newValue: BigNumber;
}
export declare type WithdrawalLimitUpdateEvent = TypedEvent<[BigNumber, BigNumber], WithdrawalLimitUpdateEventObject>;
export declare type WithdrawalLimitUpdateEventFilter = TypedEventFilter<WithdrawalLimitUpdateEvent>;
export interface WithdrawalPublisherUpdateEventObject {
    oldValue: string;
    newValue: string;
}
export declare type WithdrawalPublisherUpdateEvent = TypedEvent<[string, string], WithdrawalPublisherUpdateEventObject>;
export declare type WithdrawalPublisherUpdateEventFilter = TypedEventFilter<WithdrawalPublisherUpdateEvent>;
export interface WithdrawalRootHashAdditionEventObject {
    rootHash: string;
    nonce: BigNumber;
}
export declare type WithdrawalRootHashAdditionEvent = TypedEvent<[string, BigNumber], WithdrawalRootHashAdditionEventObject>;
export declare type WithdrawalRootHashAdditionEventFilter = TypedEventFilter<WithdrawalRootHashAdditionEvent>;
export interface WithdrawalRootHashRemovalEventObject {
    rootHash: string;
    nonce: BigNumber;
}
export declare type WithdrawalRootHashRemovalEvent = TypedEvent<[string, BigNumber], WithdrawalRootHashRemovalEventObject>;
export declare type WithdrawalRootHashRemovalEventFilter = TypedEventFilter<WithdrawalRootHashRemovalEvent>;
export interface AmpStaking extends BaseContract {
    connect(signerOrProvider: Signer | Provider | string): this;
    attach(addressOrName: string): this;
    deployed(): Promise<this>;
    interface: AmpStakingInterface;
    queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>;
    listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>;
    listeners(eventName?: string): Array<Listener>;
    removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this;
    removeAllListeners(eventName?: string): this;
    off: OnEvent<this>;
    on: OnEvent<this>;
    once: OnEvent<this>;
    removeListener: OnEvent<this>;
    functions: {
        addPartition(_partition: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        addWithdrawalRoot(_root: PromiseOrValue<BytesLike>, _nonce: PromiseOrValue<BigNumberish>, _replacedRoots: PromiseOrValue<BytesLike>[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        addressToCumulativeAmountWithdrawn(arg0: PromiseOrValue<BytesLike>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        addressToWithdrawalNonce(arg0: PromiseOrValue<BytesLike>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        amp(overrides?: CallOverrides): Promise<[string]>;
        assumeOwnership(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        authorizeOwnershipTransfer(_authorizedAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        authorizedNewOwner(overrides?: CallOverrides): Promise<[string]>;
        canReceive(arg0: PromiseOrValue<BytesLike>, _partition: PromiseOrValue<BytesLike>, arg2: PromiseOrValue<string>, arg3: PromiseOrValue<string>, _to: PromiseOrValue<string>, arg5: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, arg7: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[boolean]>;
        canTransfer(arg0: PromiseOrValue<BytesLike>, _partition: PromiseOrValue<BytesLike>, _operator: PromiseOrValue<string>, _from: PromiseOrValue<string>, arg4: PromiseOrValue<string>, _value: PromiseOrValue<BigNumberish>, arg6: PromiseOrValue<BytesLike>, _operatorData: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[boolean]>;
        directTransferer(overrides?: CallOverrides): Promise<[string]>;
        fallbackMaxIncludedSupplyNonce(overrides?: CallOverrides): Promise<[BigNumber]>;
        fallbackPublisher(overrides?: CallOverrides): Promise<[string]>;
        fallbackRoot(overrides?: CallOverrides): Promise<[string]>;
        fallbackSetDate(overrides?: CallOverrides): Promise<[BigNumber]>;
        fallbackWithdrawalDelaySeconds(overrides?: CallOverrides): Promise<[BigNumber]>;
        maxWithdrawalRootNonce(overrides?: CallOverrides): Promise<[BigNumber]>;
        modifyWithdrawalLimit(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        nonceToSupply(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
            string,
            string,
            BigNumber
        ] & {
            supplier: string;
            partition: string;
            amount: BigNumber;
        }>;
        owner(overrides?: CallOverrides): Promise<[string]>;
        partitionManager(overrides?: CallOverrides): Promise<[string]>;
        partitions(arg0: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[boolean]>;
        removePartition(_partition: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        removeWithdrawalRoots(_roots: PromiseOrValue<BytesLike>[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        requestRelease(_partition: PromiseOrValue<BytesLike>, _amount: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        resetFallbackMechanismDate(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setDirectTransferer(_newDirectTransferer: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setFallbackPublisher(_newFallbackPublisher: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setFallbackRoot(_root: PromiseOrValue<BytesLike>, _maxSupplyNonce: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setFallbackWithdrawalDelay(_newFallbackDelaySeconds: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setPartitionManager(_newPartitionManager: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setWithdrawalLimitPublisher(_newWithdrawalLimitPublisher: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setWithdrawalPublisher(_newWithdrawalPublisher: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        supplyNonce(overrides?: CallOverrides): Promise<[BigNumber]>;
        tokensReceived(arg0: PromiseOrValue<BytesLike>, _partition: PromiseOrValue<BytesLike>, _operator: PromiseOrValue<string>, arg3: PromiseOrValue<string>, _to: PromiseOrValue<string>, _value: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, arg7: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        tokensToTransfer(arg0: PromiseOrValue<BytesLike>, _partition: PromiseOrValue<BytesLike>, _operator: PromiseOrValue<string>, _from: PromiseOrValue<string>, _to: PromiseOrValue<string>, _value: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, _operatorData: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        withdrawalLimit(overrides?: CallOverrides): Promise<[BigNumber]>;
        withdrawalLimitPublisher(overrides?: CallOverrides): Promise<[string]>;
        withdrawalPublisher(overrides?: CallOverrides): Promise<[string]>;
        withdrawalRootToNonce(arg0: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[BigNumber]>;
    };
    addPartition(_partition: PromiseOrValue<BytesLike>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    addWithdrawalRoot(_root: PromiseOrValue<BytesLike>, _nonce: PromiseOrValue<BigNumberish>, _replacedRoots: PromiseOrValue<BytesLike>[], overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    addressToCumulativeAmountWithdrawn(arg0: PromiseOrValue<BytesLike>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    addressToWithdrawalNonce(arg0: PromiseOrValue<BytesLike>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    amp(overrides?: CallOverrides): Promise<string>;
    assumeOwnership(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    authorizeOwnershipTransfer(_authorizedAddress: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    authorizedNewOwner(overrides?: CallOverrides): Promise<string>;
    canReceive(arg0: PromiseOrValue<BytesLike>, _partition: PromiseOrValue<BytesLike>, arg2: PromiseOrValue<string>, arg3: PromiseOrValue<string>, _to: PromiseOrValue<string>, arg5: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, arg7: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<boolean>;
    canTransfer(arg0: PromiseOrValue<BytesLike>, _partition: PromiseOrValue<BytesLike>, _operator: PromiseOrValue<string>, _from: PromiseOrValue<string>, arg4: PromiseOrValue<string>, _value: PromiseOrValue<BigNumberish>, arg6: PromiseOrValue<BytesLike>, _operatorData: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<boolean>;
    directTransferer(overrides?: CallOverrides): Promise<string>;
    fallbackMaxIncludedSupplyNonce(overrides?: CallOverrides): Promise<BigNumber>;
    fallbackPublisher(overrides?: CallOverrides): Promise<string>;
    fallbackRoot(overrides?: CallOverrides): Promise<string>;
    fallbackSetDate(overrides?: CallOverrides): Promise<BigNumber>;
    fallbackWithdrawalDelaySeconds(overrides?: CallOverrides): Promise<BigNumber>;
    maxWithdrawalRootNonce(overrides?: CallOverrides): Promise<BigNumber>;
    modifyWithdrawalLimit(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    nonceToSupply(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
        string,
        string,
        BigNumber
    ] & {
        supplier: string;
        partition: string;
        amount: BigNumber;
    }>;
    owner(overrides?: CallOverrides): Promise<string>;
    partitionManager(overrides?: CallOverrides): Promise<string>;
    partitions(arg0: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<boolean>;
    removePartition(_partition: PromiseOrValue<BytesLike>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    removeWithdrawalRoots(_roots: PromiseOrValue<BytesLike>[], overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    requestRelease(_partition: PromiseOrValue<BytesLike>, _amount: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    resetFallbackMechanismDate(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setDirectTransferer(_newDirectTransferer: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setFallbackPublisher(_newFallbackPublisher: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setFallbackRoot(_root: PromiseOrValue<BytesLike>, _maxSupplyNonce: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setFallbackWithdrawalDelay(_newFallbackDelaySeconds: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setPartitionManager(_newPartitionManager: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setWithdrawalLimitPublisher(_newWithdrawalLimitPublisher: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setWithdrawalPublisher(_newWithdrawalPublisher: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    supplyNonce(overrides?: CallOverrides): Promise<BigNumber>;
    tokensReceived(arg0: PromiseOrValue<BytesLike>, _partition: PromiseOrValue<BytesLike>, _operator: PromiseOrValue<string>, arg3: PromiseOrValue<string>, _to: PromiseOrValue<string>, _value: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, arg7: PromiseOrValue<BytesLike>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    tokensToTransfer(arg0: PromiseOrValue<BytesLike>, _partition: PromiseOrValue<BytesLike>, _operator: PromiseOrValue<string>, _from: PromiseOrValue<string>, _to: PromiseOrValue<string>, _value: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, _operatorData: PromiseOrValue<BytesLike>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    withdrawalLimit(overrides?: CallOverrides): Promise<BigNumber>;
    withdrawalLimitPublisher(overrides?: CallOverrides): Promise<string>;
    withdrawalPublisher(overrides?: CallOverrides): Promise<string>;
    withdrawalRootToNonce(arg0: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>;
    callStatic: {
        addPartition(_partition: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<void>;
        addWithdrawalRoot(_root: PromiseOrValue<BytesLike>, _nonce: PromiseOrValue<BigNumberish>, _replacedRoots: PromiseOrValue<BytesLike>[], overrides?: CallOverrides): Promise<void>;
        addressToCumulativeAmountWithdrawn(arg0: PromiseOrValue<BytesLike>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        addressToWithdrawalNonce(arg0: PromiseOrValue<BytesLike>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        amp(overrides?: CallOverrides): Promise<string>;
        assumeOwnership(overrides?: CallOverrides): Promise<void>;
        authorizeOwnershipTransfer(_authorizedAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        authorizedNewOwner(overrides?: CallOverrides): Promise<string>;
        canReceive(arg0: PromiseOrValue<BytesLike>, _partition: PromiseOrValue<BytesLike>, arg2: PromiseOrValue<string>, arg3: PromiseOrValue<string>, _to: PromiseOrValue<string>, arg5: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, arg7: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<boolean>;
        canTransfer(arg0: PromiseOrValue<BytesLike>, _partition: PromiseOrValue<BytesLike>, _operator: PromiseOrValue<string>, _from: PromiseOrValue<string>, arg4: PromiseOrValue<string>, _value: PromiseOrValue<BigNumberish>, arg6: PromiseOrValue<BytesLike>, _operatorData: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<boolean>;
        directTransferer(overrides?: CallOverrides): Promise<string>;
        fallbackMaxIncludedSupplyNonce(overrides?: CallOverrides): Promise<BigNumber>;
        fallbackPublisher(overrides?: CallOverrides): Promise<string>;
        fallbackRoot(overrides?: CallOverrides): Promise<string>;
        fallbackSetDate(overrides?: CallOverrides): Promise<BigNumber>;
        fallbackWithdrawalDelaySeconds(overrides?: CallOverrides): Promise<BigNumber>;
        maxWithdrawalRootNonce(overrides?: CallOverrides): Promise<BigNumber>;
        modifyWithdrawalLimit(_amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        nonceToSupply(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
            string,
            string,
            BigNumber
        ] & {
            supplier: string;
            partition: string;
            amount: BigNumber;
        }>;
        owner(overrides?: CallOverrides): Promise<string>;
        partitionManager(overrides?: CallOverrides): Promise<string>;
        partitions(arg0: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<boolean>;
        removePartition(_partition: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<void>;
        removeWithdrawalRoots(_roots: PromiseOrValue<BytesLike>[], overrides?: CallOverrides): Promise<void>;
        requestRelease(_partition: PromiseOrValue<BytesLike>, _amount: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<void>;
        resetFallbackMechanismDate(overrides?: CallOverrides): Promise<void>;
        setDirectTransferer(_newDirectTransferer: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        setFallbackPublisher(_newFallbackPublisher: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        setFallbackRoot(_root: PromiseOrValue<BytesLike>, _maxSupplyNonce: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        setFallbackWithdrawalDelay(_newFallbackDelaySeconds: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        setPartitionManager(_newPartitionManager: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        setWithdrawalLimitPublisher(_newWithdrawalLimitPublisher: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        setWithdrawalPublisher(_newWithdrawalPublisher: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        supplyNonce(overrides?: CallOverrides): Promise<BigNumber>;
        tokensReceived(arg0: PromiseOrValue<BytesLike>, _partition: PromiseOrValue<BytesLike>, _operator: PromiseOrValue<string>, arg3: PromiseOrValue<string>, _to: PromiseOrValue<string>, _value: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, arg7: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<void>;
        tokensToTransfer(arg0: PromiseOrValue<BytesLike>, _partition: PromiseOrValue<BytesLike>, _operator: PromiseOrValue<string>, _from: PromiseOrValue<string>, _to: PromiseOrValue<string>, _value: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, _operatorData: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<void>;
        withdrawalLimit(overrides?: CallOverrides): Promise<BigNumber>;
        withdrawalLimitPublisher(overrides?: CallOverrides): Promise<string>;
        withdrawalPublisher(overrides?: CallOverrides): Promise<string>;
        withdrawalRootToNonce(arg0: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>;
    };
    filters: {
        'DirectTransfer(address,bytes32,address,bytes32,uint256)'(operator?: null, from_partition?: PromiseOrValue<BytesLike> | null, to_address?: PromiseOrValue<string> | null, to_partition?: PromiseOrValue<BytesLike> | null, value?: null): DirectTransferEventFilter;
        DirectTransfer(operator?: null, from_partition?: PromiseOrValue<BytesLike> | null, to_address?: PromiseOrValue<string> | null, to_partition?: PromiseOrValue<BytesLike> | null, value?: null): DirectTransferEventFilter;
        'DirectTransfererUpdate(address,address)'(oldValue?: PromiseOrValue<string> | null, newValue?: PromiseOrValue<string> | null): DirectTransfererUpdateEventFilter;
        DirectTransfererUpdate(oldValue?: PromiseOrValue<string> | null, newValue?: PromiseOrValue<string> | null): DirectTransfererUpdateEventFilter;
        'FallbackMechanismDateReset(uint256)'(newDate?: PromiseOrValue<BigNumberish> | null): FallbackMechanismDateResetEventFilter;
        FallbackMechanismDateReset(newDate?: PromiseOrValue<BigNumberish> | null): FallbackMechanismDateResetEventFilter;
        'FallbackPublisherUpdate(address,address)'(oldValue?: PromiseOrValue<string> | null, newValue?: PromiseOrValue<string> | null): FallbackPublisherUpdateEventFilter;
        FallbackPublisherUpdate(oldValue?: PromiseOrValue<string> | null, newValue?: PromiseOrValue<string> | null): FallbackPublisherUpdateEventFilter;
        'FallbackRootHashSet(bytes32,uint256,uint256)'(rootHash?: PromiseOrValue<BytesLike> | null, maxSupplyNonceIncluded?: PromiseOrValue<BigNumberish> | null, setDate?: null): FallbackRootHashSetEventFilter;
        FallbackRootHashSet(rootHash?: PromiseOrValue<BytesLike> | null, maxSupplyNonceIncluded?: PromiseOrValue<BigNumberish> | null, setDate?: null): FallbackRootHashSetEventFilter;
        'FallbackWithdrawal(address,bytes32,uint256)'(supplier?: PromiseOrValue<string> | null, partition?: PromiseOrValue<BytesLike> | null, amount?: PromiseOrValue<BigNumberish> | null): FallbackWithdrawalEventFilter;
        FallbackWithdrawal(supplier?: PromiseOrValue<string> | null, partition?: PromiseOrValue<BytesLike> | null, amount?: PromiseOrValue<BigNumberish> | null): FallbackWithdrawalEventFilter;
        'FallbackWithdrawalDelayUpdate(uint256,uint256)'(oldValue?: PromiseOrValue<BigNumberish> | null, newValue?: PromiseOrValue<BigNumberish> | null): FallbackWithdrawalDelayUpdateEventFilter;
        FallbackWithdrawalDelayUpdate(oldValue?: PromiseOrValue<BigNumberish> | null, newValue?: PromiseOrValue<BigNumberish> | null): FallbackWithdrawalDelayUpdateEventFilter;
        'OwnerUpdate(address,address)'(oldValue?: PromiseOrValue<string> | null, newValue?: PromiseOrValue<string> | null): OwnerUpdateEventFilter;
        OwnerUpdate(oldValue?: PromiseOrValue<string> | null, newValue?: PromiseOrValue<string> | null): OwnerUpdateEventFilter;
        'OwnershipTransferAuthorization(address)'(authorizedAddress?: PromiseOrValue<string> | null): OwnershipTransferAuthorizationEventFilter;
        OwnershipTransferAuthorization(authorizedAddress?: PromiseOrValue<string> | null): OwnershipTransferAuthorizationEventFilter;
        'PartitionAdded(bytes32)'(partition?: PromiseOrValue<BytesLike> | null): PartitionAddedEventFilter;
        PartitionAdded(partition?: PromiseOrValue<BytesLike> | null): PartitionAddedEventFilter;
        'PartitionManagerUpdate(address,address)'(oldValue?: PromiseOrValue<string> | null, newValue?: PromiseOrValue<string> | null): PartitionManagerUpdateEventFilter;
        PartitionManagerUpdate(oldValue?: PromiseOrValue<string> | null, newValue?: PromiseOrValue<string> | null): PartitionManagerUpdateEventFilter;
        'PartitionRemoved(bytes32)'(partition?: PromiseOrValue<BytesLike> | null): PartitionRemovedEventFilter;
        PartitionRemoved(partition?: PromiseOrValue<BytesLike> | null): PartitionRemovedEventFilter;
        'ReleaseRequest(address,bytes32,uint256,bytes)'(supplier?: PromiseOrValue<string> | null, partition?: PromiseOrValue<BytesLike> | null, amount?: PromiseOrValue<BigNumberish> | null, data?: null): ReleaseRequestEventFilter;
        ReleaseRequest(supplier?: PromiseOrValue<string> | null, partition?: PromiseOrValue<BytesLike> | null, amount?: PromiseOrValue<BigNumberish> | null, data?: null): ReleaseRequestEventFilter;
        'SupplyReceipt(address,bytes32,uint256,uint256)'(supplier?: PromiseOrValue<string> | null, partition?: PromiseOrValue<BytesLike> | null, amount?: null, nonce?: PromiseOrValue<BigNumberish> | null): SupplyReceiptEventFilter;
        SupplyReceipt(supplier?: PromiseOrValue<string> | null, partition?: PromiseOrValue<BytesLike> | null, amount?: null, nonce?: PromiseOrValue<BigNumberish> | null): SupplyReceiptEventFilter;
        'SupplyRefund(address,bytes32,uint256,uint256)'(supplier?: PromiseOrValue<string> | null, partition?: PromiseOrValue<BytesLike> | null, amount?: null, nonce?: PromiseOrValue<BigNumberish> | null): SupplyRefundEventFilter;
        SupplyRefund(supplier?: PromiseOrValue<string> | null, partition?: PromiseOrValue<BytesLike> | null, amount?: null, nonce?: PromiseOrValue<BigNumberish> | null): SupplyRefundEventFilter;
        'Withdrawal(address,bytes32,uint256,uint256,uint256)'(supplier?: PromiseOrValue<string> | null, partition?: PromiseOrValue<BytesLike> | null, amount?: null, rootNonce?: PromiseOrValue<BigNumberish> | null, authorizedAccountNonce?: null): WithdrawalEventFilter;
        Withdrawal(supplier?: PromiseOrValue<string> | null, partition?: PromiseOrValue<BytesLike> | null, amount?: null, rootNonce?: PromiseOrValue<BigNumberish> | null, authorizedAccountNonce?: null): WithdrawalEventFilter;
        'WithdrawalLimitPublisherUpdate(address,address)'(oldValue?: PromiseOrValue<string> | null, newValue?: PromiseOrValue<string> | null): WithdrawalLimitPublisherUpdateEventFilter;
        WithdrawalLimitPublisherUpdate(oldValue?: PromiseOrValue<string> | null, newValue?: PromiseOrValue<string> | null): WithdrawalLimitPublisherUpdateEventFilter;
        'WithdrawalLimitUpdate(uint256,uint256)'(oldValue?: PromiseOrValue<BigNumberish> | null, newValue?: PromiseOrValue<BigNumberish> | null): WithdrawalLimitUpdateEventFilter;
        WithdrawalLimitUpdate(oldValue?: PromiseOrValue<BigNumberish> | null, newValue?: PromiseOrValue<BigNumberish> | null): WithdrawalLimitUpdateEventFilter;
        'WithdrawalPublisherUpdate(address,address)'(oldValue?: PromiseOrValue<string> | null, newValue?: PromiseOrValue<string> | null): WithdrawalPublisherUpdateEventFilter;
        WithdrawalPublisherUpdate(oldValue?: PromiseOrValue<string> | null, newValue?: PromiseOrValue<string> | null): WithdrawalPublisherUpdateEventFilter;
        'WithdrawalRootHashAddition(bytes32,uint256)'(rootHash?: PromiseOrValue<BytesLike> | null, nonce?: PromiseOrValue<BigNumberish> | null): WithdrawalRootHashAdditionEventFilter;
        WithdrawalRootHashAddition(rootHash?: PromiseOrValue<BytesLike> | null, nonce?: PromiseOrValue<BigNumberish> | null): WithdrawalRootHashAdditionEventFilter;
        'WithdrawalRootHashRemoval(bytes32,uint256)'(rootHash?: PromiseOrValue<BytesLike> | null, nonce?: PromiseOrValue<BigNumberish> | null): WithdrawalRootHashRemovalEventFilter;
        WithdrawalRootHashRemoval(rootHash?: PromiseOrValue<BytesLike> | null, nonce?: PromiseOrValue<BigNumberish> | null): WithdrawalRootHashRemovalEventFilter;
    };
    estimateGas: {
        addPartition(_partition: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        addWithdrawalRoot(_root: PromiseOrValue<BytesLike>, _nonce: PromiseOrValue<BigNumberish>, _replacedRoots: PromiseOrValue<BytesLike>[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        addressToCumulativeAmountWithdrawn(arg0: PromiseOrValue<BytesLike>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        addressToWithdrawalNonce(arg0: PromiseOrValue<BytesLike>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        amp(overrides?: CallOverrides): Promise<BigNumber>;
        assumeOwnership(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        authorizeOwnershipTransfer(_authorizedAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        authorizedNewOwner(overrides?: CallOverrides): Promise<BigNumber>;
        canReceive(arg0: PromiseOrValue<BytesLike>, _partition: PromiseOrValue<BytesLike>, arg2: PromiseOrValue<string>, arg3: PromiseOrValue<string>, _to: PromiseOrValue<string>, arg5: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, arg7: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>;
        canTransfer(arg0: PromiseOrValue<BytesLike>, _partition: PromiseOrValue<BytesLike>, _operator: PromiseOrValue<string>, _from: PromiseOrValue<string>, arg4: PromiseOrValue<string>, _value: PromiseOrValue<BigNumberish>, arg6: PromiseOrValue<BytesLike>, _operatorData: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>;
        directTransferer(overrides?: CallOverrides): Promise<BigNumber>;
        fallbackMaxIncludedSupplyNonce(overrides?: CallOverrides): Promise<BigNumber>;
        fallbackPublisher(overrides?: CallOverrides): Promise<BigNumber>;
        fallbackRoot(overrides?: CallOverrides): Promise<BigNumber>;
        fallbackSetDate(overrides?: CallOverrides): Promise<BigNumber>;
        fallbackWithdrawalDelaySeconds(overrides?: CallOverrides): Promise<BigNumber>;
        maxWithdrawalRootNonce(overrides?: CallOverrides): Promise<BigNumber>;
        modifyWithdrawalLimit(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        nonceToSupply(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        owner(overrides?: CallOverrides): Promise<BigNumber>;
        partitionManager(overrides?: CallOverrides): Promise<BigNumber>;
        partitions(arg0: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>;
        removePartition(_partition: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        removeWithdrawalRoots(_roots: PromiseOrValue<BytesLike>[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        requestRelease(_partition: PromiseOrValue<BytesLike>, _amount: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        resetFallbackMechanismDate(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setDirectTransferer(_newDirectTransferer: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setFallbackPublisher(_newFallbackPublisher: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setFallbackRoot(_root: PromiseOrValue<BytesLike>, _maxSupplyNonce: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setFallbackWithdrawalDelay(_newFallbackDelaySeconds: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setPartitionManager(_newPartitionManager: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setWithdrawalLimitPublisher(_newWithdrawalLimitPublisher: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setWithdrawalPublisher(_newWithdrawalPublisher: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        supplyNonce(overrides?: CallOverrides): Promise<BigNumber>;
        tokensReceived(arg0: PromiseOrValue<BytesLike>, _partition: PromiseOrValue<BytesLike>, _operator: PromiseOrValue<string>, arg3: PromiseOrValue<string>, _to: PromiseOrValue<string>, _value: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, arg7: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        tokensToTransfer(arg0: PromiseOrValue<BytesLike>, _partition: PromiseOrValue<BytesLike>, _operator: PromiseOrValue<string>, _from: PromiseOrValue<string>, _to: PromiseOrValue<string>, _value: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, _operatorData: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        withdrawalLimit(overrides?: CallOverrides): Promise<BigNumber>;
        withdrawalLimitPublisher(overrides?: CallOverrides): Promise<BigNumber>;
        withdrawalPublisher(overrides?: CallOverrides): Promise<BigNumber>;
        withdrawalRootToNonce(arg0: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>;
    };
    populateTransaction: {
        addPartition(_partition: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        addWithdrawalRoot(_root: PromiseOrValue<BytesLike>, _nonce: PromiseOrValue<BigNumberish>, _replacedRoots: PromiseOrValue<BytesLike>[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        addressToCumulativeAmountWithdrawn(arg0: PromiseOrValue<BytesLike>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        addressToWithdrawalNonce(arg0: PromiseOrValue<BytesLike>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        amp(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        assumeOwnership(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        authorizeOwnershipTransfer(_authorizedAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        authorizedNewOwner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        canReceive(arg0: PromiseOrValue<BytesLike>, _partition: PromiseOrValue<BytesLike>, arg2: PromiseOrValue<string>, arg3: PromiseOrValue<string>, _to: PromiseOrValue<string>, arg5: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, arg7: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        canTransfer(arg0: PromiseOrValue<BytesLike>, _partition: PromiseOrValue<BytesLike>, _operator: PromiseOrValue<string>, _from: PromiseOrValue<string>, arg4: PromiseOrValue<string>, _value: PromiseOrValue<BigNumberish>, arg6: PromiseOrValue<BytesLike>, _operatorData: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        directTransferer(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        fallbackMaxIncludedSupplyNonce(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        fallbackPublisher(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        fallbackRoot(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        fallbackSetDate(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        fallbackWithdrawalDelaySeconds(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        maxWithdrawalRootNonce(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        modifyWithdrawalLimit(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        nonceToSupply(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        owner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        partitionManager(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        partitions(arg0: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        removePartition(_partition: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        removeWithdrawalRoots(_roots: PromiseOrValue<BytesLike>[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        requestRelease(_partition: PromiseOrValue<BytesLike>, _amount: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        resetFallbackMechanismDate(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setDirectTransferer(_newDirectTransferer: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setFallbackPublisher(_newFallbackPublisher: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setFallbackRoot(_root: PromiseOrValue<BytesLike>, _maxSupplyNonce: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setFallbackWithdrawalDelay(_newFallbackDelaySeconds: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setPartitionManager(_newPartitionManager: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setWithdrawalLimitPublisher(_newWithdrawalLimitPublisher: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setWithdrawalPublisher(_newWithdrawalPublisher: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        supplyNonce(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        tokensReceived(arg0: PromiseOrValue<BytesLike>, _partition: PromiseOrValue<BytesLike>, _operator: PromiseOrValue<string>, arg3: PromiseOrValue<string>, _to: PromiseOrValue<string>, _value: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, arg7: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        tokensToTransfer(arg0: PromiseOrValue<BytesLike>, _partition: PromiseOrValue<BytesLike>, _operator: PromiseOrValue<string>, _from: PromiseOrValue<string>, _to: PromiseOrValue<string>, _value: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, _operatorData: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        withdrawalLimit(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        withdrawalLimitPublisher(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        withdrawalPublisher(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        withdrawalRootToNonce(arg0: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
    };
}
