import { type Message } from "./Message.js";
import Address from "./Address.js";
import PublicKey from "./PublicKey.js";
import RawPrivateKey from "./RawPrivateKey.js";
import Signature from "./Signature.js";
export interface Account {
    getAddress(): Promise<Address>;
    getPublicKey(): Promise<PublicKey>;
    sign(message: Message): Promise<Signature>;
}
export declare function isAccount(account: unknown): account is Account;
export interface ExportableAccount extends Account {
    exportPrivateKey(): Promise<RawPrivateKey>;
}
export default Account;
