import { IAirGapWallet } from '../interfaces/IAirGapWallet';
import { ICoinProtocol } from '../protocols/ICoinProtocol';
import { ProtocolSymbols } from '../utils/ProtocolSymbols';
export interface SerializedAirGapWallet {
    protocolIdentifier: ProtocolSymbols;
    networkIdentifier: string;
    publicKey: string;
    isExtendedPublicKey: boolean;
    derivationPath: string;
    addresses: string[];
    addressIndex?: number;
}
export declare class AirGapWallet implements IAirGapWallet {
    protocol: ICoinProtocol;
    publicKey: string;
    isExtendedPublicKey: boolean;
    derivationPath: string;
    addressIndex?: number | undefined;
    addresses: string[];
    constructor(protocol: ICoinProtocol, publicKey: string, isExtendedPublicKey: boolean, derivationPath: string, addressIndex?: number | undefined);
    readonly receivingPublicAddress: string;
    setProtocol(protocol: ICoinProtocol): Promise<void>;
    deriveAddresses(amount?: number): Promise<string[]>;
    toJSON(): SerializedAirGapWallet;
}
