import { type PublicKey } from '@solana/web3.js';
import { type Address } from 'everscale-inpage-provider';
import { PipelineConfig } from '../../models/pipeline-config/PipelineConfig';
import { type PipelineConfigData, type SolanaMergeDetails, type TvmMergeDetails } from '../../models/pipeline-config/types';
export interface SolTvmPipelineConfigData extends PipelineConfigData, SolanaMergeDetails, TvmMergeDetails {
    isNativeSolCurrency: boolean;
    isNativeTvmCurrency: boolean;
    solConfigurationAddress: Address;
    solSettingsAddress: PublicKey;
    solTokenAddress: PublicKey;
    solTokenSettingsAddress: PublicKey;
    tvmConfigurationAddress: Address;
    tvmTokenAddress: Address;
    vaultAddress: PublicKey;
}
export declare class SolTvmPipelineConfig extends PipelineConfig<SolTvmPipelineConfigData> {
    constructor(initialData: Readonly<SolTvmPipelineConfigData>);
    get isNativeSolCurrency(): SolTvmPipelineConfigData['isNativeSolCurrency'];
    get isNativeTvmCurrency(): SolTvmPipelineConfigData['isNativeTvmCurrency'];
    get mergedTvmTokenAddress(): SolTvmPipelineConfigData['mergedTvmTokenAddress'];
    get solCanonTokenAddress(): SolTvmPipelineConfigData['solCanonTokenAddress'];
    get solConfigurationAddress(): SolTvmPipelineConfigData['solConfigurationAddress'];
    get solSettingsAddress(): SolTvmPipelineConfigData['solSettingsAddress'];
    get solTokenAddress(): SolTvmPipelineConfigData['solTokenAddress'];
    get solTokenSettingsAddress(): SolTvmPipelineConfigData['solTokenSettingsAddress'];
    get tvmCanonTokenAddress(): SolTvmPipelineConfigData['tvmCanonTokenAddress'];
    get tvmConfigurationAddress(): SolTvmPipelineConfigData['tvmConfigurationAddress'];
    get tvmTokenAddress(): SolTvmPipelineConfigData['tvmTokenAddress'];
    get vaultAddress(): SolTvmPipelineConfigData['vaultAddress'];
}
