import { Json } from '@app-config/utils'; import type { EnvironmentOptions } from '@app-config/node'; import { Key, EncryptedSymmetricKey } from './encryption'; declare const common: import("@lcdev/ws-rpc").Builder & { Ping: import("@lcdev/ws-rpc").FunctionVariant<"Ping", void, void, any>; } & { Decrypt: import("@lcdev/ws-rpc").FunctionVariant<"Decrypt", { text: string; symmetricKey: EncryptedSymmetricKey; }, Json, any>; } & { Encrypt: import("@lcdev/ws-rpc").FunctionVariant<"Encrypt", { value: Json; symmetricKey: EncryptedSymmetricKey; }, string, any>; }, import("@lcdev/ws-rpc").EventVariants>; export type Server = typeof common.Connection; export type Client = typeof common.Connection; export declare function startAgent(socketOrPortOverride?: number | string, privateKeyOverride?: Key): Promise; export declare function connectAgent(closeTimeoutMs?: number, socketOrPortOverride?: number | string, loadEncryptedKey?: typeof loadSymmetricKey, environmentOptions?: EnvironmentOptions): Promise<{ readonly close: () => Promise; readonly isClosed: () => boolean; readonly ping: () => Promise; readonly decryptValue: (text: string) => Promise; readonly encryptValue: (value: Json, symmetricKey: EncryptedSymmetricKey) => Promise; }>; export declare function connectAgentLazy(closeTimeoutMs?: number, socketOrPortOverride?: number | string, environmentOptions?: EnvironmentOptions): ReturnType; export declare function disconnectAgents(): Promise; export declare function shouldUseSecretAgent(value?: boolean): boolean; export declare function getAgentPortOrSocket(socketOrPortOverride?: number | string): Promise; declare function loadSymmetricKey(revision: string, environmentOptions?: EnvironmentOptions): Promise; export {};