import { Address, ContractState, TestContractResult, HexString, ContractFactory, SubscribeOptions, EventSubscription, TestContractParams, ContractCreatedEvent, ContractDestroyedEvent, ContractInstance } from "@alephium/web3";
export declare namespace AttestTokenHandlerTypes {
    type Fields = {
        governance: HexString;
        localTokenBridge: HexString;
        chainId: bigint;
        tokenBridgeId: HexString;
        receivedSequence: bigint;
        isLocalHandler: boolean;
    };
    type State = ContractState<Fields>;
}
declare class Factory extends ContractFactory<AttestTokenHandlerInstance, AttestTokenHandlerTypes.Fields> {
    at(address: string): AttestTokenHandlerInstance;
    testParseAttestTokenMethod(params: TestContractParams<AttestTokenHandlerTypes.Fields, {
        vaa: HexString;
    }>): Promise<TestContractResult<[HexString, HexString, HexString, bigint, bigint]>>;
    testCreateLocalTokenPoolMethod(params: TestContractParams<AttestTokenHandlerTypes.Fields, {
        vaa: HexString;
        payer: HexString;
        createContractAlphAmount: bigint;
        tokenAmount: bigint;
    }>): Promise<TestContractResult<null>>;
    testCreateRemoteTokenPoolMethod(params: TestContractParams<AttestTokenHandlerTypes.Fields, {
        vaa: HexString;
        payer: HexString;
        createContractAlphAmount: bigint;
    }>): Promise<TestContractResult<null>>;
    testUpdateRemoteTokenPoolMethod(params: TestContractParams<AttestTokenHandlerTypes.Fields, {
        vaa: HexString;
    }>): Promise<TestContractResult<null>>;
}
export declare const AttestTokenHandler: Factory;
export declare class AttestTokenHandlerInstance extends ContractInstance {
    constructor(address: Address);
    fetchState(): Promise<AttestTokenHandlerTypes.State>;
    subscribeContractCreatedEvent(options: SubscribeOptions<ContractCreatedEvent>, fromCount?: number): EventSubscription;
    subscribeContractDestroyedEvent(options: SubscribeOptions<ContractDestroyedEvent>, fromCount?: number): EventSubscription;
    subscribeAllEvents(options: SubscribeOptions<ContractCreatedEvent | ContractDestroyedEvent>, fromCount?: number): EventSubscription;
}
export {};
