import { Address, ContractState, TestContractResult, HexString, ContractFactory, CallContractParams, CallContractResult, TestContractParams, ContractInstance } from "@alephium/web3";
export declare namespace TokenBridgeFactoryTypes {
    type Fields = {
        localTokenPoolTemplateId: HexString;
        remoteTokenPoolTemplateId: HexString;
        tokenBridgeForChainTemplateId: HexString;
        attestTokenHandlerTemplateId: HexString;
        unexecutedSequenceTemplateId: HexString;
    };
    type State = ContractState<Fields>;
}
declare class Factory extends ContractFactory<TokenBridgeFactoryInstance, TokenBridgeFactoryTypes.Fields> {
    at(address: string): TokenBridgeFactoryInstance;
    testGetLocalTokenPoolTemplateIdMethod(params: Omit<TestContractParams<TokenBridgeFactoryTypes.Fields, never>, "testArgs">): Promise<TestContractResult<HexString>>;
    testGetRemoteTokenPoolTemplateIdMethod(params: Omit<TestContractParams<TokenBridgeFactoryTypes.Fields, never>, "testArgs">): Promise<TestContractResult<HexString>>;
    testGetTokenBridgeForChainTemplateIdMethod(params: Omit<TestContractParams<TokenBridgeFactoryTypes.Fields, never>, "testArgs">): Promise<TestContractResult<HexString>>;
    testGetAttestTokenHandlerTemplateIdMethod(params: Omit<TestContractParams<TokenBridgeFactoryTypes.Fields, never>, "testArgs">): Promise<TestContractResult<HexString>>;
    testGetUnexecutedSequenceTemplateIdMethod(params: Omit<TestContractParams<TokenBridgeFactoryTypes.Fields, never>, "testArgs">): Promise<TestContractResult<HexString>>;
}
export declare const TokenBridgeFactory: Factory;
export declare class TokenBridgeFactoryInstance extends ContractInstance {
    constructor(address: Address);
    fetchState(): Promise<TokenBridgeFactoryTypes.State>;
    callGetLocalTokenPoolTemplateIdMethod(params?: Omit<CallContractParams<{}>, "args">): Promise<CallContractResult<HexString>>;
    callGetRemoteTokenPoolTemplateIdMethod(params?: Omit<CallContractParams<{}>, "args">): Promise<CallContractResult<HexString>>;
    callGetTokenBridgeForChainTemplateIdMethod(params?: Omit<CallContractParams<{}>, "args">): Promise<CallContractResult<HexString>>;
    callGetAttestTokenHandlerTemplateIdMethod(params?: Omit<CallContractParams<{}>, "args">): Promise<CallContractResult<HexString>>;
    callGetUnexecutedSequenceTemplateIdMethod(params?: Omit<CallContractParams<{}>, "args">): Promise<CallContractResult<HexString>>;
}
export {};
