import { AdapterType } from '../config'; import { SIGN_TYPE, TSignData } from '../prepareTx'; import { Signable } from '../Signable'; export declare abstract class Adapter { type: string; protected _code: number; protected _isDestroyed: boolean; protected static _code: number; protected constructor(networkCode?: string | number); makeSignable(forSign: TSignData): Signable; isAvailable(): Promise; onDestroy(cb?: Function): void; getNetworkByte(): number; isDestroyed(): boolean; abstract getSyncAddress(): string; abstract getSyncPublicKey(): string; abstract getSignVersions(): Record>; abstract getPublicKey(): Promise; abstract getAddress(): Promise; abstract getPrivateKey(): Promise; abstract signRequest(databytes: Uint8Array, signData?: any): Promise; abstract signTransaction(bytes: Uint8Array, precisions: Record, signData?: any): Promise; abstract signOrder(bytes: Uint8Array, precisions: Record, signData: any): Promise; abstract signData(bytes: Uint8Array): Promise; abstract getSeed(): Promise; abstract getEncodedSeed(): Promise; static initOptions(options: { networkCode: number; }): void; signCustomData(data: string | Array | Uint8Array): Promise; signApiTokenData(clientId: string, timestamp?: number): Promise<{ networkByte: number; signature: string; clientId: string; publicKey: string; seconds: number; }>; static type: AdapterType; static getUserList(): Promise>; static isAvailable(): Promise; } export interface IAdapterConstructor { new (): Adapter; type: AdapterType; getUserList(): Promise>; isAvailable(): Promise; } export interface ISeedUser { encryptedSeed: string; password: string; encryptionRounds?: number; } export interface IPrivateKeyUser { encryptedPrivateKey: string; password: string; encryptionRounds?: number; } export declare type IUser = ISeedUser | IPrivateKeyUser; export interface IProofData { profs?: Array; signature?: string; }