import { IAirGapTransaction } from '../../..';
import { RawTezosTransaction } from '../../../serializer/types';
import { FeeDefaults } from '../../ICoinProtocol';
import { TezosContractCall } from '../contract/TezosContractCall';
import { TezosTransactionParameters } from '../types/operations/Transaction';
import { TezosFAProtocol } from './TezosFAProtocol';
import { TezosFAProtocolOptions } from './TezosFAProtocolOptions';
export declare class TezosFA1Protocol extends TezosFAProtocol {
    private readonly defaultCallbackContractMap;
    constructor(options: TezosFAProtocolOptions);
    getBalanceOfAddresses(addresses: string[]): Promise<string>;
    estimateFeeDefaultsFromPublicKey(publicKey: string, recipients: string[], values: string[], data?: any): Promise<FeeDefaults>;
    prepareTransactionFromPublicKey(publicKey: string, recipients: string[], values: string[], fee: string, data?: {
        addressIndex: number;
    }): Promise<RawTezosTransaction>;
    transactionDetailsFromParameters(parameters: TezosTransactionParameters): Partial<IAirGapTransaction>[];
    getBalance(address: string, source?: string, callbackContract?: string): Promise<string>;
    getTotalSupply(source?: string, callbackContract?: string): Promise<string>;
    transfer(fromAddress: string, toAddress: string, amount: string, fee: string, publicKey: string): Promise<RawTezosTransaction>;
    fetchTokenHolders(): Promise<{
        address: string;
        amount: string;
    }[]>;
    protected getContractCallIntResult(transferCall: TezosContractCall, source: string): Promise<string>;
    private createTransferCalls;
    protected callbackContract(): string;
    private isTransferRequest;
}
