import { ProtocolOptions } from '../../../utils/ProtocolOptions';
import { ProtocolSymbols } from '../../../utils/ProtocolSymbols';
import { FeeDefaults } from '../../ICoinProtocol';
import { TezosProtocolConfig, TezosProtocolNetwork } from '../TezosProtocolOptions';
export declare class TezosFAProtocolConfig extends TezosProtocolConfig {
    readonly symbol: string;
    readonly name: string;
    readonly marketSymbol: string;
    readonly identifier: ProtocolSymbols;
    readonly contractAddress: string;
    readonly feeDefaults: FeeDefaults;
    readonly decimals: number;
    constructor(symbol: string, name: string, marketSymbol: string, identifier: ProtocolSymbols, contractAddress: string, feeDefaults: FeeDefaults, decimals: number);
}
export declare class TezosFA2ProtocolConfig extends TezosFAProtocolConfig {
    readonly symbol: string;
    readonly name: string;
    readonly marketSymbol: string;
    readonly identifier: ProtocolSymbols;
    readonly contractAddress: string;
    readonly feeDefaults: FeeDefaults;
    readonly decimals: number;
    readonly tokenID?: number | undefined;
    readonly tokenMetadataBigMapID?: number | undefined;
    readonly tokenMetadataBigMapName?: string | undefined;
    readonly tokenMetadataBigMapRegex?: RegExp | undefined;
    constructor(symbol: string, name: string, marketSymbol: string, identifier: ProtocolSymbols, contractAddress: string, feeDefaults: FeeDefaults, decimals: number, tokenID?: number | undefined, tokenMetadataBigMapID?: number | undefined, tokenMetadataBigMapName?: string | undefined, tokenMetadataBigMapRegex?: RegExp | undefined);
}
export declare class TezosBTCProtocolConfig extends TezosFAProtocolConfig {
    constructor(symbol?: string, name?: string, marketSymbol?: string, identifier?: ProtocolSymbols, contractAddress?: string, feeDefaults?: FeeDefaults, decimals?: number);
}
export declare class TezosStakerProtocolConfig extends TezosFAProtocolConfig {
    constructor(symbol?: string, name?: string, marketSymbol?: string, identifier?: ProtocolSymbols, contractAddress?: string, feeDefaults?: FeeDefaults, decimals?: number);
}
export declare class TezosUSDProtocolConfig extends TezosFAProtocolConfig {
    constructor(symbol?: string, name?: string, marketSymbol?: string, identifier?: ProtocolSymbols, contractAddress?: string, feeDefaults?: FeeDefaults, decimals?: number);
}
export declare class TezosFAProtocolOptions implements ProtocolOptions<TezosFAProtocolConfig> {
    readonly network: TezosProtocolNetwork;
    readonly config: TezosFAProtocolConfig;
    constructor(network: TezosProtocolNetwork, config: TezosFAProtocolConfig);
}
export declare class TezosFA2ProtocolOptions implements ProtocolOptions<TezosFA2ProtocolConfig> {
    readonly network: TezosProtocolNetwork;
    readonly config: TezosFA2ProtocolConfig;
    constructor(network: TezosProtocolNetwork, config: TezosFA2ProtocolConfig);
}
