import { AddressValidation, SignedTx, UnsignedTx } from '../../../types/provider';
import { Signer, Verifier } from '../../../types/secret';
import { BaseProvider } from '../../abc';
import { Solana } from './solana';
declare class Provider extends BaseProvider {
    get solana(): Promise<Solana>;
    buildUnsignedTx(unsignedTx: UnsignedTx): Promise<UnsignedTx>;
    pubkeyToAddress(verifier: Verifier, encoding?: string): Promise<string>;
    signTransaction(unsignedTx: UnsignedTx, signers: {
        [p: string]: Signer;
    }): Promise<SignedTx>;
    private getAssociatedTokenAddress;
    private buildTx;
    verifyAddress(address: string): Promise<AddressValidation>;
    verifyAssociatedTokenAddress(address: string): Promise<AddressValidation>;
    hardwareGetXpubs(paths: string[], showOnDevice: boolean): Promise<{
        path: string;
        xpub: string;
    }[]>;
    hardwareGetAddress(path: string, showOnDevice: boolean, addressToVerify?: string): Promise<string>;
    hardwareSignTransaction(unsignedTx: UnsignedTx, signers: Record<string, string>): Promise<SignedTx>;
}
export { Provider };
