import { BaseApp } from "./core/base.js";
import { Command } from "./tools/cli/command.js";
export declare const Version: string;
export declare const version: string;
export type PocketBaseConfig = {
    HideStartBanner?: boolean;
    hideStartBanner?: boolean;
    DefaultDev?: boolean;
    defaultDev?: boolean;
    DefaultDataDir?: string;
    defaultDataDir?: string;
    DefaultEncryptionEnv?: string;
    defaultEncryptionEnv?: string;
    DefaultQueryTimeout?: number;
    defaultQueryTimeout?: number;
    DataMaxOpenConns?: number;
    dataMaxOpenConns?: number;
    DataMaxIdleConns?: number;
    dataMaxIdleConns?: number;
    AuxMaxOpenConns?: number;
    auxMaxOpenConns?: number;
    AuxMaxIdleConns?: number;
    auxMaxIdleConns?: number;
    DBConnect?: unknown;
    dbConnect?: unknown;
    dataDir?: string;
    encryptionEnv?: string;
    isDev?: boolean;
};
export type Config = PocketBaseConfig;
export declare class PocketBase extends BaseApp {
    rootCmd: Command;
    app: BaseApp;
    devFlag: boolean;
    dataDirFlag: string;
    encryptionEnvFlag: string;
    queryTimeout: number;
    hideStartBanner: boolean;
    constructor(config?: PocketBaseConfig);
    Start(): Promise<Error | null>;
    start(): Promise<Error | null>;
    /** @deprecated Prefer rootCmd. */
    get RootCmd(): Command;
    set RootCmd(value: Command);
    /** @deprecated Prefer app. */
    get App(): BaseApp;
    set App(value: BaseApp);
    Execute(): Promise<Error | null>;
    execute(): Promise<Error | null>;
    private skipBootstrap;
}
export declare function newPocketBase(): PocketBase;
export declare function newPocketBaseWithConfig(config: PocketBaseConfig): PocketBase;
/** @deprecated Prefer newPocketBase. */
export declare const New: typeof newPocketBase;
/** @deprecated Prefer newPocketBaseWithConfig. */
export declare const NewWithConfig: typeof newPocketBaseWithConfig;
