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 declare namespace IPerpsV2MarketBaseTypes {
    type PositionStruct = {
        id: PromiseOrValue<BigNumberish>;
        lastFundingIndex: PromiseOrValue<BigNumberish>;
        margin: PromiseOrValue<BigNumberish>;
        lastPrice: PromiseOrValue<BigNumberish>;
        size: PromiseOrValue<BigNumberish>;
    };
    type PositionStructOutput = [BigNumber, BigNumber, BigNumber, BigNumber, BigNumber] & {
        id: BigNumber;
        lastFundingIndex: BigNumber;
        margin: BigNumber;
        lastPrice: BigNumber;
        size: BigNumber;
    };
}
export interface SynthetixPerpInterface extends utils.Interface {
    functions: {
        'acceptOwnership()': FunctionFragment;
        'accessibleMargin(address)': FunctionFragment;
        'accruedFunding(address)': FunctionFragment;
        'assetPrice()': FunctionFragment;
        'baseAsset()': FunctionFragment;
        'canLiquidate(address)': FunctionFragment;
        'currentFundingRate()': FunctionFragment;
        'currentFundingVelocity()': FunctionFragment;
        'fillPrice(int256)': FunctionFragment;
        'fundingLastRecomputed()': FunctionFragment;
        'fundingSequence(uint256)': FunctionFragment;
        'fundingSequenceLength()': FunctionFragment;
        'isResolverCached()': FunctionFragment;
        'liquidationFee(address)': FunctionFragment;
        'liquidationPrice(address)': FunctionFragment;
        'marketDebt()': FunctionFragment;
        'marketKey()': FunctionFragment;
        'marketSize()': FunctionFragment;
        'marketSizes()': FunctionFragment;
        'marketSkew()': FunctionFragment;
        'marketState()': FunctionFragment;
        'nominateNewOwner(address)': FunctionFragment;
        'nominatedOwner()': FunctionFragment;
        'notionalValue(address)': FunctionFragment;
        'orderFee(int256,uint8)': FunctionFragment;
        'owner()': FunctionFragment;
        'positions(address)': FunctionFragment;
        'postTradeDetails(int256,uint256,uint8,address)': FunctionFragment;
        'profitLoss(address)': FunctionFragment;
        'rebuildCache()': FunctionFragment;
        'remainingMargin(address)': FunctionFragment;
        'resolver()': FunctionFragment;
        'resolverAddressesRequired()': FunctionFragment;
        'unrecordedFunding()': FunctionFragment;
    };
    getFunction(nameOrSignatureOrTopic: 'acceptOwnership' | 'accessibleMargin' | 'accruedFunding' | 'assetPrice' | 'baseAsset' | 'canLiquidate' | 'currentFundingRate' | 'currentFundingVelocity' | 'fillPrice' | 'fundingLastRecomputed' | 'fundingSequence' | 'fundingSequenceLength' | 'isResolverCached' | 'liquidationFee' | 'liquidationPrice' | 'marketDebt' | 'marketKey' | 'marketSize' | 'marketSizes' | 'marketSkew' | 'marketState' | 'nominateNewOwner' | 'nominatedOwner' | 'notionalValue' | 'orderFee' | 'owner' | 'positions' | 'postTradeDetails' | 'profitLoss' | 'rebuildCache' | 'remainingMargin' | 'resolver' | 'resolverAddressesRequired' | 'unrecordedFunding'): FunctionFragment;
    encodeFunctionData(functionFragment: 'acceptOwnership', values?: undefined): string;
    encodeFunctionData(functionFragment: 'accessibleMargin', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'accruedFunding', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'assetPrice', values?: undefined): string;
    encodeFunctionData(functionFragment: 'baseAsset', values?: undefined): string;
    encodeFunctionData(functionFragment: 'canLiquidate', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'currentFundingRate', values?: undefined): string;
    encodeFunctionData(functionFragment: 'currentFundingVelocity', values?: undefined): string;
    encodeFunctionData(functionFragment: 'fillPrice', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'fundingLastRecomputed', values?: undefined): string;
    encodeFunctionData(functionFragment: 'fundingSequence', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'fundingSequenceLength', values?: undefined): string;
    encodeFunctionData(functionFragment: 'isResolverCached', values?: undefined): string;
    encodeFunctionData(functionFragment: 'liquidationFee', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'liquidationPrice', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'marketDebt', values?: undefined): string;
    encodeFunctionData(functionFragment: 'marketKey', values?: undefined): string;
    encodeFunctionData(functionFragment: 'marketSize', values?: undefined): string;
    encodeFunctionData(functionFragment: 'marketSizes', values?: undefined): string;
    encodeFunctionData(functionFragment: 'marketSkew', values?: undefined): string;
    encodeFunctionData(functionFragment: 'marketState', values?: undefined): string;
    encodeFunctionData(functionFragment: 'nominateNewOwner', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'nominatedOwner', values?: undefined): string;
    encodeFunctionData(functionFragment: 'notionalValue', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'orderFee', values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'owner', values?: undefined): string;
    encodeFunctionData(functionFragment: 'positions', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'postTradeDetails', values: [
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<string>
    ]): string;
    encodeFunctionData(functionFragment: 'profitLoss', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'rebuildCache', values?: undefined): string;
    encodeFunctionData(functionFragment: 'remainingMargin', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'resolver', values?: undefined): string;
    encodeFunctionData(functionFragment: 'resolverAddressesRequired', values?: undefined): string;
    encodeFunctionData(functionFragment: 'unrecordedFunding', values?: undefined): string;
    decodeFunctionResult(functionFragment: 'acceptOwnership', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'accessibleMargin', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'accruedFunding', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'assetPrice', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'baseAsset', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'canLiquidate', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'currentFundingRate', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'currentFundingVelocity', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'fillPrice', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'fundingLastRecomputed', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'fundingSequence', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'fundingSequenceLength', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'isResolverCached', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'liquidationFee', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'liquidationPrice', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'marketDebt', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'marketKey', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'marketSize', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'marketSizes', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'marketSkew', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'marketState', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'nominateNewOwner', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'nominatedOwner', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'notionalValue', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'orderFee', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'owner', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'positions', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'postTradeDetails', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'profitLoss', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'rebuildCache', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'remainingMargin', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'resolver', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'resolverAddressesRequired', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'unrecordedFunding', data: BytesLike): Result;
    events: {
        'CacheUpdated(bytes32,address)': EventFragment;
        'OwnerChanged(address,address)': EventFragment;
        'OwnerNominated(address)': EventFragment;
    };
    getEvent(nameOrSignatureOrTopic: 'CacheUpdated'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'OwnerChanged'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'OwnerNominated'): EventFragment;
}
export interface CacheUpdatedEventObject {
    name: string;
    destination: string;
}
export declare type CacheUpdatedEvent = TypedEvent<[string, string], CacheUpdatedEventObject>;
export declare type CacheUpdatedEventFilter = TypedEventFilter<CacheUpdatedEvent>;
export interface OwnerChangedEventObject {
    oldOwner: string;
    newOwner: string;
}
export declare type OwnerChangedEvent = TypedEvent<[string, string], OwnerChangedEventObject>;
export declare type OwnerChangedEventFilter = TypedEventFilter<OwnerChangedEvent>;
export interface OwnerNominatedEventObject {
    newOwner: string;
}
export declare type OwnerNominatedEvent = TypedEvent<[string], OwnerNominatedEventObject>;
export declare type OwnerNominatedEventFilter = TypedEventFilter<OwnerNominatedEvent>;
export interface SynthetixPerp extends BaseContract {
    connect(signerOrProvider: Signer | Provider | string): this;
    attach(addressOrName: string): this;
    deployed(): Promise<this>;
    interface: SynthetixPerpInterface;
    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: {
        acceptOwnership(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        accessibleMargin(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, boolean] & {
            marginAccessible: BigNumber;
            invalid: boolean;
        }>;
        accruedFunding(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, boolean] & {
            funding: BigNumber;
            invalid: boolean;
        }>;
        assetPrice(overrides?: CallOverrides): Promise<[BigNumber, boolean] & {
            price: BigNumber;
            invalid: boolean;
        }>;
        baseAsset(overrides?: CallOverrides): Promise<[string] & {
            key: string;
        }>;
        canLiquidate(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
        currentFundingRate(overrides?: CallOverrides): Promise<[BigNumber]>;
        currentFundingVelocity(overrides?: CallOverrides): Promise<[BigNumber]>;
        fillPrice(sizeDelta: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber, boolean] & {
            price: BigNumber;
            invalid: boolean;
        }>;
        fundingLastRecomputed(overrides?: CallOverrides): Promise<[number]>;
        fundingSequence(index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
        fundingSequenceLength(overrides?: CallOverrides): Promise<[BigNumber]>;
        isResolverCached(overrides?: CallOverrides): Promise<[boolean]>;
        liquidationFee(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        liquidationPrice(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, boolean] & {
            price: BigNumber;
            invalid: boolean;
        }>;
        marketDebt(overrides?: CallOverrides): Promise<[BigNumber, boolean] & {
            debt: BigNumber;
            invalid: boolean;
        }>;
        marketKey(overrides?: CallOverrides): Promise<[string] & {
            key: string;
        }>;
        marketSize(overrides?: CallOverrides): Promise<[BigNumber]>;
        marketSizes(overrides?: CallOverrides): Promise<[BigNumber, BigNumber] & {
            long: BigNumber;
            short: BigNumber;
        }>;
        marketSkew(overrides?: CallOverrides): Promise<[BigNumber]>;
        marketState(overrides?: CallOverrides): Promise<[string]>;
        nominateNewOwner(_owner: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        nominatedOwner(overrides?: CallOverrides): Promise<[string]>;
        notionalValue(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, boolean] & {
            value: BigNumber;
            invalid: boolean;
        }>;
        orderFee(sizeDelta: PromiseOrValue<BigNumberish>, orderType: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber, boolean] & {
            fee: BigNumber;
            invalid: boolean;
        }>;
        owner(overrides?: CallOverrides): Promise<[string]>;
        positions(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[IPerpsV2MarketBaseTypes.PositionStructOutput]>;
        postTradeDetails(sizeDelta: PromiseOrValue<BigNumberish>, tradePrice: PromiseOrValue<BigNumberish>, orderType: PromiseOrValue<BigNumberish>, sender: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[
            BigNumber,
            BigNumber,
            BigNumber,
            BigNumber,
            BigNumber,
            number
        ] & {
            margin: BigNumber;
            size: BigNumber;
            price: BigNumber;
            liqPrice: BigNumber;
            fee: BigNumber;
            status: number;
        }>;
        profitLoss(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, boolean] & {
            pnl: BigNumber;
            invalid: boolean;
        }>;
        rebuildCache(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        remainingMargin(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, boolean] & {
            marginRemaining: BigNumber;
            invalid: boolean;
        }>;
        resolver(overrides?: CallOverrides): Promise<[string]>;
        resolverAddressesRequired(overrides?: CallOverrides): Promise<[string[]] & {
            addresses: string[];
        }>;
        unrecordedFunding(overrides?: CallOverrides): Promise<[BigNumber, boolean] & {
            funding: BigNumber;
            invalid: boolean;
        }>;
    };
    acceptOwnership(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    accessibleMargin(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, boolean] & {
        marginAccessible: BigNumber;
        invalid: boolean;
    }>;
    accruedFunding(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, boolean] & {
        funding: BigNumber;
        invalid: boolean;
    }>;
    assetPrice(overrides?: CallOverrides): Promise<[BigNumber, boolean] & {
        price: BigNumber;
        invalid: boolean;
    }>;
    baseAsset(overrides?: CallOverrides): Promise<string>;
    canLiquidate(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
    currentFundingRate(overrides?: CallOverrides): Promise<BigNumber>;
    currentFundingVelocity(overrides?: CallOverrides): Promise<BigNumber>;
    fillPrice(sizeDelta: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber, boolean] & {
        price: BigNumber;
        invalid: boolean;
    }>;
    fundingLastRecomputed(overrides?: CallOverrides): Promise<number>;
    fundingSequence(index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
    fundingSequenceLength(overrides?: CallOverrides): Promise<BigNumber>;
    isResolverCached(overrides?: CallOverrides): Promise<boolean>;
    liquidationFee(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    liquidationPrice(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, boolean] & {
        price: BigNumber;
        invalid: boolean;
    }>;
    marketDebt(overrides?: CallOverrides): Promise<[BigNumber, boolean] & {
        debt: BigNumber;
        invalid: boolean;
    }>;
    marketKey(overrides?: CallOverrides): Promise<string>;
    marketSize(overrides?: CallOverrides): Promise<BigNumber>;
    marketSizes(overrides?: CallOverrides): Promise<[BigNumber, BigNumber] & {
        long: BigNumber;
        short: BigNumber;
    }>;
    marketSkew(overrides?: CallOverrides): Promise<BigNumber>;
    marketState(overrides?: CallOverrides): Promise<string>;
    nominateNewOwner(_owner: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    nominatedOwner(overrides?: CallOverrides): Promise<string>;
    notionalValue(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, boolean] & {
        value: BigNumber;
        invalid: boolean;
    }>;
    orderFee(sizeDelta: PromiseOrValue<BigNumberish>, orderType: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber, boolean] & {
        fee: BigNumber;
        invalid: boolean;
    }>;
    owner(overrides?: CallOverrides): Promise<string>;
    positions(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<IPerpsV2MarketBaseTypes.PositionStructOutput>;
    postTradeDetails(sizeDelta: PromiseOrValue<BigNumberish>, tradePrice: PromiseOrValue<BigNumberish>, orderType: PromiseOrValue<BigNumberish>, sender: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[
        BigNumber,
        BigNumber,
        BigNumber,
        BigNumber,
        BigNumber,
        number
    ] & {
        margin: BigNumber;
        size: BigNumber;
        price: BigNumber;
        liqPrice: BigNumber;
        fee: BigNumber;
        status: number;
    }>;
    profitLoss(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, boolean] & {
        pnl: BigNumber;
        invalid: boolean;
    }>;
    rebuildCache(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    remainingMargin(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, boolean] & {
        marginRemaining: BigNumber;
        invalid: boolean;
    }>;
    resolver(overrides?: CallOverrides): Promise<string>;
    resolverAddressesRequired(overrides?: CallOverrides): Promise<string[]>;
    unrecordedFunding(overrides?: CallOverrides): Promise<[BigNumber, boolean] & {
        funding: BigNumber;
        invalid: boolean;
    }>;
    callStatic: {
        acceptOwnership(overrides?: CallOverrides): Promise<void>;
        accessibleMargin(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, boolean] & {
            marginAccessible: BigNumber;
            invalid: boolean;
        }>;
        accruedFunding(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, boolean] & {
            funding: BigNumber;
            invalid: boolean;
        }>;
        assetPrice(overrides?: CallOverrides): Promise<[BigNumber, boolean] & {
            price: BigNumber;
            invalid: boolean;
        }>;
        baseAsset(overrides?: CallOverrides): Promise<string>;
        canLiquidate(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
        currentFundingRate(overrides?: CallOverrides): Promise<BigNumber>;
        currentFundingVelocity(overrides?: CallOverrides): Promise<BigNumber>;
        fillPrice(sizeDelta: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber, boolean] & {
            price: BigNumber;
            invalid: boolean;
        }>;
        fundingLastRecomputed(overrides?: CallOverrides): Promise<number>;
        fundingSequence(index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        fundingSequenceLength(overrides?: CallOverrides): Promise<BigNumber>;
        isResolverCached(overrides?: CallOverrides): Promise<boolean>;
        liquidationFee(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        liquidationPrice(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, boolean] & {
            price: BigNumber;
            invalid: boolean;
        }>;
        marketDebt(overrides?: CallOverrides): Promise<[BigNumber, boolean] & {
            debt: BigNumber;
            invalid: boolean;
        }>;
        marketKey(overrides?: CallOverrides): Promise<string>;
        marketSize(overrides?: CallOverrides): Promise<BigNumber>;
        marketSizes(overrides?: CallOverrides): Promise<[BigNumber, BigNumber] & {
            long: BigNumber;
            short: BigNumber;
        }>;
        marketSkew(overrides?: CallOverrides): Promise<BigNumber>;
        marketState(overrides?: CallOverrides): Promise<string>;
        nominateNewOwner(_owner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        nominatedOwner(overrides?: CallOverrides): Promise<string>;
        notionalValue(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, boolean] & {
            value: BigNumber;
            invalid: boolean;
        }>;
        orderFee(sizeDelta: PromiseOrValue<BigNumberish>, orderType: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber, boolean] & {
            fee: BigNumber;
            invalid: boolean;
        }>;
        owner(overrides?: CallOverrides): Promise<string>;
        positions(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<IPerpsV2MarketBaseTypes.PositionStructOutput>;
        postTradeDetails(sizeDelta: PromiseOrValue<BigNumberish>, tradePrice: PromiseOrValue<BigNumberish>, orderType: PromiseOrValue<BigNumberish>, sender: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[
            BigNumber,
            BigNumber,
            BigNumber,
            BigNumber,
            BigNumber,
            number
        ] & {
            margin: BigNumber;
            size: BigNumber;
            price: BigNumber;
            liqPrice: BigNumber;
            fee: BigNumber;
            status: number;
        }>;
        profitLoss(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, boolean] & {
            pnl: BigNumber;
            invalid: boolean;
        }>;
        rebuildCache(overrides?: CallOverrides): Promise<void>;
        remainingMargin(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, boolean] & {
            marginRemaining: BigNumber;
            invalid: boolean;
        }>;
        resolver(overrides?: CallOverrides): Promise<string>;
        resolverAddressesRequired(overrides?: CallOverrides): Promise<string[]>;
        unrecordedFunding(overrides?: CallOverrides): Promise<[BigNumber, boolean] & {
            funding: BigNumber;
            invalid: boolean;
        }>;
    };
    filters: {
        'CacheUpdated(bytes32,address)'(name?: null, destination?: null): CacheUpdatedEventFilter;
        CacheUpdated(name?: null, destination?: null): CacheUpdatedEventFilter;
        'OwnerChanged(address,address)'(oldOwner?: null, newOwner?: null): OwnerChangedEventFilter;
        OwnerChanged(oldOwner?: null, newOwner?: null): OwnerChangedEventFilter;
        'OwnerNominated(address)'(newOwner?: null): OwnerNominatedEventFilter;
        OwnerNominated(newOwner?: null): OwnerNominatedEventFilter;
    };
    estimateGas: {
        acceptOwnership(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        accessibleMargin(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        accruedFunding(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        assetPrice(overrides?: CallOverrides): Promise<BigNumber>;
        baseAsset(overrides?: CallOverrides): Promise<BigNumber>;
        canLiquidate(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        currentFundingRate(overrides?: CallOverrides): Promise<BigNumber>;
        currentFundingVelocity(overrides?: CallOverrides): Promise<BigNumber>;
        fillPrice(sizeDelta: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        fundingLastRecomputed(overrides?: CallOverrides): Promise<BigNumber>;
        fundingSequence(index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        fundingSequenceLength(overrides?: CallOverrides): Promise<BigNumber>;
        isResolverCached(overrides?: CallOverrides): Promise<BigNumber>;
        liquidationFee(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        liquidationPrice(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        marketDebt(overrides?: CallOverrides): Promise<BigNumber>;
        marketKey(overrides?: CallOverrides): Promise<BigNumber>;
        marketSize(overrides?: CallOverrides): Promise<BigNumber>;
        marketSizes(overrides?: CallOverrides): Promise<BigNumber>;
        marketSkew(overrides?: CallOverrides): Promise<BigNumber>;
        marketState(overrides?: CallOverrides): Promise<BigNumber>;
        nominateNewOwner(_owner: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        nominatedOwner(overrides?: CallOverrides): Promise<BigNumber>;
        notionalValue(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        orderFee(sizeDelta: PromiseOrValue<BigNumberish>, orderType: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        owner(overrides?: CallOverrides): Promise<BigNumber>;
        positions(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        postTradeDetails(sizeDelta: PromiseOrValue<BigNumberish>, tradePrice: PromiseOrValue<BigNumberish>, orderType: PromiseOrValue<BigNumberish>, sender: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        profitLoss(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        rebuildCache(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        remainingMargin(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        resolver(overrides?: CallOverrides): Promise<BigNumber>;
        resolverAddressesRequired(overrides?: CallOverrides): Promise<BigNumber>;
        unrecordedFunding(overrides?: CallOverrides): Promise<BigNumber>;
    };
    populateTransaction: {
        acceptOwnership(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        accessibleMargin(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        accruedFunding(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        assetPrice(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        baseAsset(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        canLiquidate(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        currentFundingRate(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        currentFundingVelocity(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        fillPrice(sizeDelta: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        fundingLastRecomputed(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        fundingSequence(index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        fundingSequenceLength(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        isResolverCached(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        liquidationFee(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        liquidationPrice(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        marketDebt(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        marketKey(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        marketSize(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        marketSizes(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        marketSkew(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        marketState(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        nominateNewOwner(_owner: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        nominatedOwner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        notionalValue(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        orderFee(sizeDelta: PromiseOrValue<BigNumberish>, orderType: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        owner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        positions(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        postTradeDetails(sizeDelta: PromiseOrValue<BigNumberish>, tradePrice: PromiseOrValue<BigNumberish>, orderType: PromiseOrValue<BigNumberish>, sender: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        profitLoss(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        rebuildCache(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        remainingMargin(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        resolver(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        resolverAddressesRequired(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        unrecordedFunding(overrides?: CallOverrides): Promise<PopulatedTransaction>;
    };
}
