///
import { DiffieHellman, EncryptedMessageT, HDPathRadixT, PrivateKeyT, PublicKeyT, SignatureT } from "../../crypto/index";
import { BuiltTransactionReadyToSign } from "../../primitives/index";
import { ResultAsync } from "neverthrow";
import { Observable } from "rxjs";
import { Option } from "prelude-ts";
export declare type PrivateKeyToSigningKeyInput = Readonly<{
privateKey: PrivateKeyT;
name?: string;
}>;
export declare type AddSigningKeyByPrivateKeyInput = PrivateKeyToSigningKeyInput & {
alsoSwitchTo?: boolean;
};
export declare type Signing = {
signHash: (hashedMessage: Buffer) => Observable;
sign: (tx: BuiltTransactionReadyToSign, nonXrdHRP?: string) => ResultAsync;
};
export declare type SigningKeyEncryptionInput = {
plaintext: Buffer | string;
publicKeyOfOtherParty: PublicKeyT;
};
export declare type Encrypting = {
encrypt: (input: SigningKeyEncryptionInput) => Observable;
};
export declare type SigningKeyDecryptionInput = {
encryptedMessage: Buffer | EncryptedMessageT;
publicKeyOfOtherParty: PublicKeyT;
};
export declare type Decrypting = {
decrypt: (input: SigningKeyDecryptionInput) => Observable;
};
export declare enum HDSigningKeyTypeIdentifier {
LOCAL = "LOCAL",
HARDWARE_OR_REMOTE = "HARDWARE_OR_REMOTE"
}
export declare enum SigningKeyTypeIdentifier {
HD_SIGNING_KEY = "HD_SIGNING_KEY",
NON_HD_SIGNING_KEY = "NON_HD_SIGNING_KEY"
}
export declare type BaseSigningKeyTypeT = {
typeIdentifier: T;
isHDSigningKey: boolean;
isHardwareSigningKey: boolean;
uniqueKey: string;
};
export declare type SigningKeyTypeHDT = BaseSigningKeyTypeT & {
hdSigningKeyType: HDSigningKeyTypeIdentifier;
hdPath: HDPathRadixT;
};
export declare type SigningKeyTypeNonHDT = BaseSigningKeyTypeT & {
name?: string;
};
export declare type SigningKeyTypeT = SigningKeyTypeHDT | SigningKeyTypeNonHDT;
export declare type SigningKeyT = Signing & Encrypting & Decrypting & {
__diffieHellman: DiffieHellman;
type: SigningKeyTypeT;
publicKey: PublicKeyT;
getPublicKeyDisplayOnlyAddress: () => Observable;
uniqueIdentifier: string;
toString: () => string;
equals: (other: SigningKeyT) => boolean;
hdPath?: HDPathRadixT;
isHDSigningKey: boolean;
isHardwareSigningKey: boolean;
isLocalHDSigningKey: boolean;
};
export declare type SigningKeysT = Readonly<{
toString: () => string;
equals: (other: SigningKeysT) => boolean;
getHDSigningKeyByHDPath: (hdPath: HDPathRadixT) => Option;
getAnySigningKeyByPublicKey: (publicKey: PublicKeyT) => Option;
all: SigningKeyT[];
hdSigningKeys: () => SigningKeyT[];
localHDSigningKeys: () => SigningKeyT[];
hardwareHDSigningKeys: () => SigningKeyT[];
nonHDSigningKeys: () => SigningKeyT[];
size: () => number;
}>;
//# sourceMappingURL=_types.d.ts.map