import { Address, ContractState, TestContractResult, HexString, ContractFactory, TestContractParams, 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;
    tests: {
        parseAttestToken: (params: TestContractParams<AttestTokenHandlerTypes.Fields, {
            vaa: HexString;
        }>) => Promise<TestContractResult<[HexString, HexString, HexString, bigint, bigint]>>;
        createLocalTokenPool: (params: TestContractParams<AttestTokenHandlerTypes.Fields, {
            vaa: HexString;
            payer: Address;
            createContractAlphAmount: bigint;
            tokenAmount: bigint;
        }>) => Promise<TestContractResult<null>>;
        createRemoteTokenPool: (params: TestContractParams<AttestTokenHandlerTypes.Fields, {
            vaa: HexString;
            payer: Address;
            createContractAlphAmount: bigint;
        }>) => Promise<TestContractResult<null>>;
        updateRemoteTokenPool: (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>;
}
export {};
