import { ShellApiClass } from './decorators'; import { asPrintable } from './enums'; import Mongo from './mongo'; import type { DatabaseWithSchema } from './database'; import type { CommandResult } from './result'; import { CursorIterationResult } from './result'; import type ShellInstanceState from './shell-instance-state'; import type { ServerApi, ServerApiVersion } from '@mongosh/service-provider-core'; import { DBQuery } from './dbquery'; import type { ClientSideFieldLevelEncryptionOptions } from './field-level-encryption'; import { ShellUserConfig } from '@mongosh/types'; import type { ShellLog } from './shell-log'; declare const instanceStateSymbol: unique symbol; declare const loadCallNestingLevelSymbol: unique symbol; export declare class ShellConfig extends ShellApiClass { _instanceState: ShellInstanceState; defaults: Readonly; constructor(instanceState: ShellInstanceState); set(key: K, value: ShellUserConfig[K]): Promise; get(key: K): Promise; reset(key: K): Promise; _allKeys(): Promise<(keyof ShellUserConfig)[]>; [asPrintable](): Promise>; } export default class ShellApi extends ShellApiClass { [instanceStateSymbol]: ShellInstanceState; [loadCallNestingLevelSymbol]: number; DBQuery: DBQuery; config: ShellConfig; constructor(instanceState: ShellInstanceState); get log(): ShellLog; get _instanceState(): ShellInstanceState; get loadCallNestingLevel(): number; set loadCallNestingLevel(value: number); use(db: string): any; show(cmd: string, arg?: string): Promise; _untrackedShow(cmd: string, arg?: string): Promise; exit(exitCode?: number): Promise; quit(exitCode?: number): Promise; Mongo(uri?: string, fleOptions?: ClientSideFieldLevelEncryptionOptions, otherOptions?: { api?: ServerApi | ServerApiVersion; }): Promise; connect(uri: string, user?: string, pwd?: string): Promise; it(): Promise; version(): string; load(filename: string): Promise; enableTelemetry(): Promise; disableTelemetry(): Promise; passwordPrompt(): Promise; sleep(ms: number): Promise; private _print; print(...origArgs: any[]): Promise; printjson(...origArgs: any[]): Promise; convertShardKeyToHashed(value: any): Promise; cls(): Promise; isInteractive(): boolean; } export {};