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 TvmSolPipelineConfigData extends PipelineConfigData, TvmMergeDetails, SolanaMergeDetails {
    isNativeSolCurrency: boolean;
    isNativeTvmCurrency: boolean;
    solConfigurationAddress: Address;
    solSettingsAddress: PublicKey;
    solTokenAddress: PublicKey;
    solTokenSettingsAddress: PublicKey;
    tvmConfigurationAddress: Address;
    tvmTokenAddress: Address;
    vaultAddress: PublicKey;
}
export declare class TvmSolPipelineConfig extends PipelineConfig<TvmSolPipelineConfigData> {
    constructor(initialData: Readonly<TvmSolPipelineConfigData>);
    get isNativeSolCurrency(): TvmSolPipelineConfigData['isNativeSolCurrency'];
    get isNativeTvmCurrency(): TvmSolPipelineConfigData['isNativeTvmCurrency'];
    get mergedTvmTokenAddress(): TvmSolPipelineConfigData['mergedTvmTokenAddress'];
    get solCanonTokenAddress(): TvmSolPipelineConfigData['solCanonTokenAddress'];
    get solConfigurationAddress(): TvmSolPipelineConfigData['solConfigurationAddress'];
    get solSettingsAddress(): TvmSolPipelineConfigData['solSettingsAddress'];
    get solTokenAddress(): TvmSolPipelineConfigData['solTokenAddress'];
    get solTokenSettingsAddress(): TvmSolPipelineConfigData['solTokenSettingsAddress'];
    get tvmCanonTokenAddress(): TvmSolPipelineConfigData['tvmCanonTokenAddress'];
    get tvmConfigurationAddress(): TvmSolPipelineConfigData['tvmConfigurationAddress'];
    get tvmTokenAddress(): TvmSolPipelineConfigData['tvmTokenAddress'];
    get vaultAddress(): TvmSolPipelineConfigData['vaultAddress'];
}
