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 FactoryInterface extends utils.Interface {
    functions: {
        'addNFTManager(address)': FunctionFragment;
        'configMaster()': FunctionFragment;
        'createPool(address,address,uint24)': FunctionFragment;
        'disableWhitelist()': FunctionFragment;
        'enableSwapFee(uint24,int24)': FunctionFragment;
        'enableWhitelist()': FunctionFragment;
        'feeAmountTickDistance(uint24)': FunctionFragment;
        'feeConfiguration()': FunctionFragment;
        'getCreationCode()': FunctionFragment;
        'getCreationCodeContracts()': FunctionFragment;
        'getPool(address,address,uint24)': FunctionFragment;
        'getWhitelistedNFTManagers()': FunctionFragment;
        'isWhitelistedNFTManager(address)': FunctionFragment;
        'parameters()': FunctionFragment;
        'poolInitHash()': FunctionFragment;
        'removeNFTManager(address)': FunctionFragment;
        'updateConfigMaster(address)': FunctionFragment;
        'updateFeeConfiguration(address,uint24)': FunctionFragment;
        'updateVestingPeriod(uint32)': FunctionFragment;
        'vestingPeriod()': FunctionFragment;
        'whitelistDisabled()': FunctionFragment;
    };
    getFunction(nameOrSignatureOrTopic: 'addNFTManager' | 'configMaster' | 'createPool' | 'disableWhitelist' | 'enableSwapFee' | 'enableWhitelist' | 'feeAmountTickDistance' | 'feeConfiguration' | 'getCreationCode' | 'getCreationCodeContracts' | 'getPool' | 'getWhitelistedNFTManagers' | 'isWhitelistedNFTManager' | 'parameters' | 'poolInitHash' | 'removeNFTManager' | 'updateConfigMaster' | 'updateFeeConfiguration' | 'updateVestingPeriod' | 'vestingPeriod' | 'whitelistDisabled'): FunctionFragment;
    encodeFunctionData(functionFragment: 'addNFTManager', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'configMaster', values?: undefined): string;
    encodeFunctionData(functionFragment: 'createPool', values: [PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'disableWhitelist', values?: undefined): string;
    encodeFunctionData(functionFragment: 'enableSwapFee', values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'enableWhitelist', values?: undefined): string;
    encodeFunctionData(functionFragment: 'feeAmountTickDistance', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'feeConfiguration', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getCreationCode', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getCreationCodeContracts', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getPool', values: [PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'getWhitelistedNFTManagers', values?: undefined): string;
    encodeFunctionData(functionFragment: 'isWhitelistedNFTManager', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'parameters', values?: undefined): string;
    encodeFunctionData(functionFragment: 'poolInitHash', values?: undefined): string;
    encodeFunctionData(functionFragment: 'removeNFTManager', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'updateConfigMaster', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'updateFeeConfiguration', values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'updateVestingPeriod', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'vestingPeriod', values?: undefined): string;
    encodeFunctionData(functionFragment: 'whitelistDisabled', values?: undefined): string;
    decodeFunctionResult(functionFragment: 'addNFTManager', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'configMaster', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'createPool', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'disableWhitelist', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'enableSwapFee', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'enableWhitelist', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'feeAmountTickDistance', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'feeConfiguration', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getCreationCode', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getCreationCodeContracts', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getPool', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getWhitelistedNFTManagers', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'isWhitelistedNFTManager', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'parameters', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'poolInitHash', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'removeNFTManager', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'updateConfigMaster', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'updateFeeConfiguration', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'updateVestingPeriod', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'vestingPeriod', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'whitelistDisabled', data: BytesLike): Result;
    events: {
        'ConfigMasterUpdated(address,address)': EventFragment;
        'FeeConfigurationUpdated(address,uint24)': EventFragment;
        'NFTManagerAdded(address,bool)': EventFragment;
        'NFTManagerRemoved(address,bool)': EventFragment;
        'PoolCreated(address,address,uint24,int24,address)': EventFragment;
        'SwapFeeEnabled(uint24,int24)': EventFragment;
        'VestingPeriodUpdated(uint32)': EventFragment;
        'WhitelistDisabled()': EventFragment;
        'WhitelistEnabled()': EventFragment;
    };
    getEvent(nameOrSignatureOrTopic: 'ConfigMasterUpdated'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'FeeConfigurationUpdated'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'NFTManagerAdded'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'NFTManagerRemoved'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'PoolCreated'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'SwapFeeEnabled'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'VestingPeriodUpdated'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'WhitelistDisabled'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'WhitelistEnabled'): EventFragment;
}
export interface ConfigMasterUpdatedEventObject {
    oldConfigMaster: string;
    newConfigMaster: string;
}
export declare type ConfigMasterUpdatedEvent = TypedEvent<[string, string], ConfigMasterUpdatedEventObject>;
export declare type ConfigMasterUpdatedEventFilter = TypedEventFilter<ConfigMasterUpdatedEvent>;
export interface FeeConfigurationUpdatedEventObject {
    feeTo: string;
    governmentFeeUnits: number;
}
export declare type FeeConfigurationUpdatedEvent = TypedEvent<[string, number], FeeConfigurationUpdatedEventObject>;
export declare type FeeConfigurationUpdatedEventFilter = TypedEventFilter<FeeConfigurationUpdatedEvent>;
export interface NFTManagerAddedEventObject {
    _nftManager: string;
    added: boolean;
}
export declare type NFTManagerAddedEvent = TypedEvent<[string, boolean], NFTManagerAddedEventObject>;
export declare type NFTManagerAddedEventFilter = TypedEventFilter<NFTManagerAddedEvent>;
export interface NFTManagerRemovedEventObject {
    _nftManager: string;
    removed: boolean;
}
export declare type NFTManagerRemovedEvent = TypedEvent<[string, boolean], NFTManagerRemovedEventObject>;
export declare type NFTManagerRemovedEventFilter = TypedEventFilter<NFTManagerRemovedEvent>;
export interface PoolCreatedEventObject {
    token0: string;
    token1: string;
    swapFeeUnits: number;
    tickDistance: number;
    pool: string;
}
export declare type PoolCreatedEvent = TypedEvent<[string, string, number, number, string], PoolCreatedEventObject>;
export declare type PoolCreatedEventFilter = TypedEventFilter<PoolCreatedEvent>;
export interface SwapFeeEnabledEventObject {
    swapFeeUnits: number;
    tickDistance: number;
}
export declare type SwapFeeEnabledEvent = TypedEvent<[number, number], SwapFeeEnabledEventObject>;
export declare type SwapFeeEnabledEventFilter = TypedEventFilter<SwapFeeEnabledEvent>;
export interface VestingPeriodUpdatedEventObject {
    vestingPeriod: number;
}
export declare type VestingPeriodUpdatedEvent = TypedEvent<[number], VestingPeriodUpdatedEventObject>;
export declare type VestingPeriodUpdatedEventFilter = TypedEventFilter<VestingPeriodUpdatedEvent>;
export interface WhitelistDisabledEventObject {
}
export declare type WhitelistDisabledEvent = TypedEvent<[], WhitelistDisabledEventObject>;
export declare type WhitelistDisabledEventFilter = TypedEventFilter<WhitelistDisabledEvent>;
export interface WhitelistEnabledEventObject {
}
export declare type WhitelistEnabledEvent = TypedEvent<[], WhitelistEnabledEventObject>;
export declare type WhitelistEnabledEventFilter = TypedEventFilter<WhitelistEnabledEvent>;
export interface Factory extends BaseContract {
    connect(signerOrProvider: Signer | Provider | string): this;
    attach(addressOrName: string): this;
    deployed(): Promise<this>;
    interface: FactoryInterface;
    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: {
        addNFTManager(_nftManager: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        configMaster(overrides?: CallOverrides): Promise<[string]>;
        createPool(tokenA: PromiseOrValue<string>, tokenB: PromiseOrValue<string>, swapFeeUnits: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        disableWhitelist(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        enableSwapFee(swapFeeUnits: PromiseOrValue<BigNumberish>, tickDistance: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        enableWhitelist(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        feeAmountTickDistance(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[number]>;
        feeConfiguration(overrides?: CallOverrides): Promise<[string, number] & {
            _feeTo: string;
            _governmentFeeUnits: number;
        }>;
        getCreationCode(overrides?: CallOverrides): Promise<[string]>;
        getCreationCodeContracts(overrides?: CallOverrides): Promise<[string, string] & {
            contractA: string;
            contractB: string;
        }>;
        getPool(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string]>;
        getWhitelistedNFTManagers(overrides?: CallOverrides): Promise<[string[]]>;
        isWhitelistedNFTManager(sender: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
        parameters(overrides?: CallOverrides): Promise<[
            string,
            string,
            string,
            number,
            number
        ] & {
            factory: string;
            token0: string;
            token1: string;
            swapFeeUnits: number;
            tickDistance: number;
        }>;
        poolInitHash(overrides?: CallOverrides): Promise<[string]>;
        removeNFTManager(_nftManager: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        updateConfigMaster(_configMaster: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        updateFeeConfiguration(_feeTo: PromiseOrValue<string>, _governmentFeeUnits: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        updateVestingPeriod(_vestingPeriod: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        vestingPeriod(overrides?: CallOverrides): Promise<[number]>;
        whitelistDisabled(overrides?: CallOverrides): Promise<[boolean]>;
    };
    addNFTManager(_nftManager: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    configMaster(overrides?: CallOverrides): Promise<string>;
    createPool(tokenA: PromiseOrValue<string>, tokenB: PromiseOrValue<string>, swapFeeUnits: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    disableWhitelist(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    enableSwapFee(swapFeeUnits: PromiseOrValue<BigNumberish>, tickDistance: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    enableWhitelist(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    feeAmountTickDistance(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<number>;
    feeConfiguration(overrides?: CallOverrides): Promise<[string, number] & {
        _feeTo: string;
        _governmentFeeUnits: number;
    }>;
    getCreationCode(overrides?: CallOverrides): Promise<string>;
    getCreationCodeContracts(overrides?: CallOverrides): Promise<[string, string] & {
        contractA: string;
        contractB: string;
    }>;
    getPool(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
    getWhitelistedNFTManagers(overrides?: CallOverrides): Promise<string[]>;
    isWhitelistedNFTManager(sender: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
    parameters(overrides?: CallOverrides): Promise<[
        string,
        string,
        string,
        number,
        number
    ] & {
        factory: string;
        token0: string;
        token1: string;
        swapFeeUnits: number;
        tickDistance: number;
    }>;
    poolInitHash(overrides?: CallOverrides): Promise<string>;
    removeNFTManager(_nftManager: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    updateConfigMaster(_configMaster: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    updateFeeConfiguration(_feeTo: PromiseOrValue<string>, _governmentFeeUnits: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    updateVestingPeriod(_vestingPeriod: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    vestingPeriod(overrides?: CallOverrides): Promise<number>;
    whitelistDisabled(overrides?: CallOverrides): Promise<boolean>;
    callStatic: {
        addNFTManager(_nftManager: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
        configMaster(overrides?: CallOverrides): Promise<string>;
        createPool(tokenA: PromiseOrValue<string>, tokenB: PromiseOrValue<string>, swapFeeUnits: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
        disableWhitelist(overrides?: CallOverrides): Promise<void>;
        enableSwapFee(swapFeeUnits: PromiseOrValue<BigNumberish>, tickDistance: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        enableWhitelist(overrides?: CallOverrides): Promise<void>;
        feeAmountTickDistance(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<number>;
        feeConfiguration(overrides?: CallOverrides): Promise<[string, number] & {
            _feeTo: string;
            _governmentFeeUnits: number;
        }>;
        getCreationCode(overrides?: CallOverrides): Promise<string>;
        getCreationCodeContracts(overrides?: CallOverrides): Promise<[string, string] & {
            contractA: string;
            contractB: string;
        }>;
        getPool(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
        getWhitelistedNFTManagers(overrides?: CallOverrides): Promise<string[]>;
        isWhitelistedNFTManager(sender: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
        parameters(overrides?: CallOverrides): Promise<[
            string,
            string,
            string,
            number,
            number
        ] & {
            factory: string;
            token0: string;
            token1: string;
            swapFeeUnits: number;
            tickDistance: number;
        }>;
        poolInitHash(overrides?: CallOverrides): Promise<string>;
        removeNFTManager(_nftManager: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
        updateConfigMaster(_configMaster: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        updateFeeConfiguration(_feeTo: PromiseOrValue<string>, _governmentFeeUnits: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        updateVestingPeriod(_vestingPeriod: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        vestingPeriod(overrides?: CallOverrides): Promise<number>;
        whitelistDisabled(overrides?: CallOverrides): Promise<boolean>;
    };
    filters: {
        'ConfigMasterUpdated(address,address)'(oldConfigMaster?: null, newConfigMaster?: null): ConfigMasterUpdatedEventFilter;
        ConfigMasterUpdated(oldConfigMaster?: null, newConfigMaster?: null): ConfigMasterUpdatedEventFilter;
        'FeeConfigurationUpdated(address,uint24)'(feeTo?: null, governmentFeeUnits?: null): FeeConfigurationUpdatedEventFilter;
        FeeConfigurationUpdated(feeTo?: null, governmentFeeUnits?: null): FeeConfigurationUpdatedEventFilter;
        'NFTManagerAdded(address,bool)'(_nftManager?: null, added?: null): NFTManagerAddedEventFilter;
        NFTManagerAdded(_nftManager?: null, added?: null): NFTManagerAddedEventFilter;
        'NFTManagerRemoved(address,bool)'(_nftManager?: null, removed?: null): NFTManagerRemovedEventFilter;
        NFTManagerRemoved(_nftManager?: null, removed?: null): NFTManagerRemovedEventFilter;
        'PoolCreated(address,address,uint24,int24,address)'(token0?: PromiseOrValue<string> | null, token1?: PromiseOrValue<string> | null, swapFeeUnits?: PromiseOrValue<BigNumberish> | null, tickDistance?: null, pool?: null): PoolCreatedEventFilter;
        PoolCreated(token0?: PromiseOrValue<string> | null, token1?: PromiseOrValue<string> | null, swapFeeUnits?: PromiseOrValue<BigNumberish> | null, tickDistance?: null, pool?: null): PoolCreatedEventFilter;
        'SwapFeeEnabled(uint24,int24)'(swapFeeUnits?: PromiseOrValue<BigNumberish> | null, tickDistance?: PromiseOrValue<BigNumberish> | null): SwapFeeEnabledEventFilter;
        SwapFeeEnabled(swapFeeUnits?: PromiseOrValue<BigNumberish> | null, tickDistance?: PromiseOrValue<BigNumberish> | null): SwapFeeEnabledEventFilter;
        'VestingPeriodUpdated(uint32)'(vestingPeriod?: null): VestingPeriodUpdatedEventFilter;
        VestingPeriodUpdated(vestingPeriod?: null): VestingPeriodUpdatedEventFilter;
        'WhitelistDisabled()'(): WhitelistDisabledEventFilter;
        WhitelistDisabled(): WhitelistDisabledEventFilter;
        'WhitelistEnabled()'(): WhitelistEnabledEventFilter;
        WhitelistEnabled(): WhitelistEnabledEventFilter;
    };
    estimateGas: {
        addNFTManager(_nftManager: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        configMaster(overrides?: CallOverrides): Promise<BigNumber>;
        createPool(tokenA: PromiseOrValue<string>, tokenB: PromiseOrValue<string>, swapFeeUnits: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        disableWhitelist(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        enableSwapFee(swapFeeUnits: PromiseOrValue<BigNumberish>, tickDistance: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        enableWhitelist(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        feeAmountTickDistance(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        feeConfiguration(overrides?: CallOverrides): Promise<BigNumber>;
        getCreationCode(overrides?: CallOverrides): Promise<BigNumber>;
        getCreationCodeContracts(overrides?: CallOverrides): Promise<BigNumber>;
        getPool(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        getWhitelistedNFTManagers(overrides?: CallOverrides): Promise<BigNumber>;
        isWhitelistedNFTManager(sender: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        parameters(overrides?: CallOverrides): Promise<BigNumber>;
        poolInitHash(overrides?: CallOverrides): Promise<BigNumber>;
        removeNFTManager(_nftManager: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        updateConfigMaster(_configMaster: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        updateFeeConfiguration(_feeTo: PromiseOrValue<string>, _governmentFeeUnits: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        updateVestingPeriod(_vestingPeriod: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        vestingPeriod(overrides?: CallOverrides): Promise<BigNumber>;
        whitelistDisabled(overrides?: CallOverrides): Promise<BigNumber>;
    };
    populateTransaction: {
        addNFTManager(_nftManager: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        configMaster(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        createPool(tokenA: PromiseOrValue<string>, tokenB: PromiseOrValue<string>, swapFeeUnits: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        disableWhitelist(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        enableSwapFee(swapFeeUnits: PromiseOrValue<BigNumberish>, tickDistance: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        enableWhitelist(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        feeAmountTickDistance(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        feeConfiguration(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getCreationCode(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getCreationCodeContracts(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getPool(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getWhitelistedNFTManagers(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        isWhitelistedNFTManager(sender: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        parameters(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        poolInitHash(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        removeNFTManager(_nftManager: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        updateConfigMaster(_configMaster: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        updateFeeConfiguration(_feeTo: PromiseOrValue<string>, _governmentFeeUnits: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        updateVestingPeriod(_vestingPeriod: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        vestingPeriod(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        whitelistDisabled(overrides?: CallOverrides): Promise<PopulatedTransaction>;
    };
}
