import { BaseCCMethod } from '../interoperability/base_cc_method';
import { BeforeCCMForwardingContext, CrossChainMessageContext, RecoverContext } from '../interoperability/types';
import { InteroperabilityMethod } from './types';
import { InternalMethod } from './internal_method';
export declare class TokenInteroperableMethod extends BaseCCMethod {
    private _interopMethod;
    private _internalMethod;
    addDependencies(interoperabilityMethod: InteroperabilityMethod, internalMethod: InternalMethod): void;
    beforeCrossChainCommandExecute(ctx: CrossChainMessageContext): Promise<void>;
    beforeCrossChainMessageForwarding(ctx: BeforeCCMForwardingContext): Promise<void>;
    verifyCrossChainMessage(ctx: CrossChainMessageContext): Promise<void>;
    recover(ctx: RecoverContext): Promise<void>;
}
