import type { AltVM, ChainMetadataForAltVM, ITransactionSubmitter, MinimumRequiredGasByAction, ProtocolProvider, SignerConfig, TransactionSubmitterConfig } from '@hyperlane-xyz/provider-sdk';
import type { IProvider } from '@hyperlane-xyz/provider-sdk/altvm';
import type { IRawHookArtifactManager } from '@hyperlane-xyz/provider-sdk/hook';
import type { IRawIsmArtifactManager } from '@hyperlane-xyz/provider-sdk/ism';
import type { AnnotatedTx, TxReceipt } from '@hyperlane-xyz/provider-sdk/module';
import type { IRawWarpArtifactManager } from '@hyperlane-xyz/provider-sdk/warp';
import { type IRawMailboxArtifactManager } from '@hyperlane-xyz/provider-sdk/mailbox';
import { type IRawFeeArtifactManager } from '@hyperlane-xyz/provider-sdk/fee';
import { type IRawValidatorAnnounceArtifactManager } from '@hyperlane-xyz/provider-sdk/validator-announce';
export declare class SvmProtocolProvider implements ProtocolProvider {
    createProvider(chainMetadata: ChainMetadataForAltVM): Promise<IProvider>;
    createSigner(chainMetadata: ChainMetadataForAltVM, config: SignerConfig): Promise<AltVM.ISigner<AnnotatedTx, TxReceipt>>;
    createSubmitter<TConfig extends TransactionSubmitterConfig>(_chainMetadata: ChainMetadataForAltVM, _config: TConfig): Promise<ITransactionSubmitter>;
    createIsmArtifactManager(chainMetadata: ChainMetadataForAltVM): IRawIsmArtifactManager;
    createHookArtifactManager(chainMetadata: ChainMetadataForAltVM, context?: {
        mailbox?: string;
    }): IRawHookArtifactManager;
    createWarpArtifactManager(chainMetadata: ChainMetadataForAltVM, _context?: {
        mailbox?: string;
    }): IRawWarpArtifactManager;
    createMailboxArtifactManager(chainMetadata: ChainMetadataForAltVM): IRawMailboxArtifactManager;
    createValidatorAnnounceArtifactManager(chainMetadata: ChainMetadataForAltVM): IRawValidatorAnnounceArtifactManager;
    createFeeArtifactManager(_chainMetadata: ChainMetadataForAltVM): IRawFeeArtifactManager | null;
    getMinGas(): MinimumRequiredGasByAction;
    private getRpcUrls;
}
//# sourceMappingURL=protocol.d.ts.map