/**
 * CommandFileObjectType type.
 * @typedef {object} CommandFileObjectType
 * @property {string} name - Command name.
 * @property {string} file - Command file path.
 */
/**
 * MigrationObjectType type.
 * @typedef {object} MigrationObjectType
 * @property {number} date - Migration timestamp parsed from filename.
 * @property {string} [fullPath] - Absolute path to the migration file.
 * @property {string} migrationClassName - Exported migration class name.
 * @property {string} file - Migration filename.
 */
export default class VelociousEnvironmentHandlerBase {
    /**
     * Runs debug endpoint token matches.
     * @param {string} providedToken - Token from the request.
     * @param {string} expectedToken - Configured token.
     * @returns {boolean} - Whether both tokens match.
     */
    debugEndpointTokenMatches(providedToken: string, expectedToken: string): boolean;
    /**
     * Runs get framework source directory.
     * @returns {string | undefined} - Velocious source directory used to filter framework stack frames.
     */
    getFrameworkSourceDirectory(): string | undefined;
    /**
     * Auto-discovers resource classes. No-op in base handler; overridden in Node handler.
     * @param {import("../configuration.js").default} _configuration - Configuration instance.
     * @returns {Promise<void>}
     */
    autoDiscoverResources(_configuration: import("../configuration.js").default): Promise<void>;
    /**
     * Runs run with timezone offset.
     * @param {number} _offsetMinutes - Offset in minutes (Date#getTimezoneOffset).
     * @param {() => Promise<?>} callback - Callback to run.
     * @returns {Promise<?>} - Result of the callback.
     */
    runWithTimezoneOffset(_offsetMinutes: number, callback: () => Promise<unknown>): Promise<unknown>;
    /**
     * Runs set timezone offset.
     * @param {number} _offsetMinutes - Offset in minutes (Date#getTimezoneOffset).
     * @returns {void} - No return value.
     */
    setTimezoneOffset(_offsetMinutes: number): void;
    /**
     * Runs get timezone offset minutes.
     * @param {import("../configuration.js").default | undefined} configuration - Configuration instance.
     * @returns {number} - Offset in minutes.
     */
    getTimezoneOffsetMinutes(configuration: import("../configuration.js").default | undefined): number;
    /**
     * Runs run with request timing.
     * @param {import("../http-server/client/request-timing.js").default | undefined} requestTiming - Request timing collector.
     * @param {() => Promise<?>} callback - Callback.
     * @returns {Promise<?>} - Callback result.
     */
    runWithRequestTiming(requestTiming: import("../http-server/client/request-timing.js").default | undefined, callback: () => Promise<unknown>): Promise<unknown>;
    _currentRequestTiming: import("../http-server/client/request-timing.js").default | undefined;
    /**
     * Runs get current request timing.
     * @returns {import("../http-server/client/request-timing.js").default | undefined} - Current request timing collector.
     */
    getCurrentRequestTiming(): import("../http-server/client/request-timing.js").default | undefined;
    /**
     * Runs run with ability.
     * @param {import("../authorization/ability.js").default | undefined} ability - Ability to set for callback scope.
     * @param {() => Promise<?>} callback - Callback.
     * @returns {Promise<?>} - Callback result.
     */
    runWithAbility(ability: import("../authorization/ability.js").default | undefined, callback: () => Promise<unknown>): Promise<unknown>;
    _currentAbility: import("../authorization/ability.js").default | undefined;
    /**
     * Runs set current ability.
     * @param {import("../authorization/ability.js").default | undefined} ability - Ability to set.
     * @returns {void} - No return value.
     */
    setCurrentAbility(ability: import("../authorization/ability.js").default | undefined): void;
    /**
     * Runs get current ability.
     * @returns {import("../authorization/ability.js").default | undefined} - Current ability.
     */
    getCurrentAbility(): import("../authorization/ability.js").default | undefined;
    /**
     * Runs run with tenant.
     * @param {?} tenant - Tenant to set for callback scope.
     * @param {() => Promise<?>} callback - Callback.
     * @returns {Promise<?>} - Callback result.
     */
    runWithTenant(tenant: unknown, callback: () => Promise<unknown>): Promise<unknown>;
    _currentTenant: any;
    /**
     * Runs set current tenant.
     * @param {?} tenant - Tenant to set.
     * @returns {void} - No return value.
     */
    setCurrentTenant(tenant: unknown): void;
    /**
     * Runs get current tenant.
     * @returns {?} - Current tenant.
     */
    getCurrentTenant(): unknown;
    /**
     * Runs cli commands generate base models.
     * @param {import("../cli/base-command.js").default} _command - Command.
     * @returns {Promise<?>} - Resolves with the command result.
     */
    cliCommandsGenerateBaseModels(_command: import("../cli/base-command.js").default): Promise<unknown>;
    /**
     * Runs cli commands generate frontend models.
     * @param {import("../cli/base-command.js").default} _command - Command.
     * @returns {Promise<?>} - Resolves with the command result.
     */
    cliCommandsGenerateFrontendModels(_command: import("../cli/base-command.js").default): Promise<unknown>;
    /**
     * Runs cli commands init.
     * @param {import("../cli/base-command.js").default} command - Command.
     * @returns {Promise<?>} - Resolves with the command result.
     */
    cliCommandsInit(command: import("../cli/base-command.js").default): Promise<unknown>;
    /**
     * Runs cli commands migration generate.
     * @param {import("../cli/base-command.js").default} _command - Command.
     * @returns {Promise<?>} - Resolves with the command result.
     */
    cliCommandsMigrationGenerate(_command: import("../cli/base-command.js").default): Promise<unknown>;
    /**
     * Runs cli commands migration destroy.
     * @param {import("../cli/base-command.js").default} _command - Command.
     * @returns {Promise<?>} - Resolves with the command result.
     */
    cliCommandsMigrationDestroy(_command: import("../cli/base-command.js").default): Promise<unknown>;
    /**
     * Runs cli commands generate model.
     * @param {import("../cli/base-command.js").default} _command - Command.
     * @returns {Promise<?>} - Resolves with the command result.
     */
    cliCommandsGenerateModel(_command: import("../cli/base-command.js").default): Promise<unknown>;
    /**
     * Runs cli commands lint relationships.
     * @abstract
     * @param {import("../cli/base-command.js").default} _command - Command.
     * @returns {Promise<?>} - Resolves with the command result.
     */
    cliCommandsLintRelationships(_command: import("../cli/base-command.js").default): Promise<unknown>;
    /**
     * Runs cli commands routes.
     * @abstract
     * @param {import("../cli/base-command.js").default} _command - Command.
     * @returns {Promise<?>} - Resolves with the command result.
     */
    cliCommandsRoutes(_command: import("../cli/base-command.js").default): Promise<unknown>;
    /**
     * Runs cli commands console.
     * @param {import("../cli/base-command.js").default} _command - Command.
     * @returns {Promise<?>} - Resolves with the command result.
     */
    cliCommandsConsole(_command: import("../cli/base-command.js").default): Promise<unknown>;
    /**
     * Runs cli commands server.
     * @param {import("../cli/base-command.js").default} _command - Command.
     * @returns {Promise<?>} - Resolves with the command result.
     */
    cliCommandsServer(_command: import("../cli/base-command.js").default): Promise<unknown>;
    /**
     * Runs cli commands test.
     * @param {import("../cli/base-command.js").default} _command - Command.
     * @returns {Promise<?>} - Resolves with the command result.
     */
    cliCommandsTest(_command: import("../cli/base-command.js").default): Promise<unknown>;
    /**
     * Runs cli commands background jobs main.
     * @param {import("../cli/base-command.js").default} _command - Command.
     * @returns {Promise<?>} - Resolves with the command result.
     */
    cliCommandsBackgroundJobsMain(_command: import("../cli/base-command.js").default): Promise<unknown>;
    /**
     * Runs cli commands background jobs worker.
     * @param {import("../cli/base-command.js").default} _command - Command.
     * @returns {Promise<?>} - Resolves with the command result.
     */
    cliCommandsBackgroundJobsWorker(_command: import("../cli/base-command.js").default): Promise<unknown>;
    /**
     * Runs cli commands background jobs runner.
     * @param {import("../cli/base-command.js").default} _command - Command.
     * @returns {Promise<?>} - Resolves with the command result.
     */
    cliCommandsBackgroundJobsRunner(_command: import("../cli/base-command.js").default): Promise<unknown>;
    /**
     * Runs cli commands beacon.
     * @param {import("../cli/base-command.js").default} _command - Command.
     * @returns {Promise<?>} - Resolves with the command result.
     */
    cliCommandsBeacon(_command: import("../cli/base-command.js").default): Promise<unknown>;
    /**
     * Loads the TCP-backed Beacon client class. Routed through the
     * environment handler so the dynamic `import("../beacon/client.js")`
     * call lives on the Node-only path — keeps Beacon's `node:net` /
     * `node:crypto` deps out of browser bundles that statically reach
     * `Configuration` (and therefore previously reached the dynamic
     * imports).
     * @returns {Promise<typeof import("../beacon/client.js").default>} - Beacon client class.
     */
    loadBeaconClient(): Promise<typeof import("../beacon/client.js").default>;
    /**
     * Loads the in-process Beacon client class. Same indirection rationale
     * as `loadBeaconClient`.
     * @returns {Promise<typeof import("../beacon/in-process-client.js").default>} - In-process client class.
     */
    loadInProcessBeaconClient(): Promise<typeof import("../beacon/in-process-client.js").default>;
    /**
     * Runs cli commands db schema dump.
     * @param {import("../cli/base-command.js").default} _command - Command.
     * @returns {Promise<?>} - Resolves with the command result.
     */
    cliCommandsDbSchemaDump(_command: import("../cli/base-command.js").default): Promise<unknown>;
    /**
     * Runs cli commands db schema load.
     * @param {import("../cli/base-command.js").default} _command - Command.
     * @returns {Promise<?>} - Resolves with the command result.
     */
    cliCommandsDbSchemaLoad(_command: import("../cli/base-command.js").default): Promise<unknown>;
    /**
     * Runs cli commands db seed.
     * @param {import("../cli/base-command.js").default} _command - Command.
     * @returns {Promise<?>} - Resolves with the command result.
     */
    cliCommandsDbSeed(_command: import("../cli/base-command.js").default): Promise<unknown>;
    /**
     * Runs cli commands runner.
     * @param {import("../cli/base-command.js").default} _command - Command.
     * @returns {Promise<?>} - Resolves with the command result.
     */
    cliCommandsRunner(_command: import("../cli/base-command.js").default): Promise<unknown>;
    /**
     * Runs cli commands run script.
     * @param {import("../cli/base-command.js").default} _command - Command.
     * @returns {Promise<?>} - Resolves with the command result.
     */
    cliCommandsRunScript(_command: import("../cli/base-command.js").default): Promise<unknown>;
    /**
     * Runs find commands.
     * @abstract
     * @returns {Promise<CommandFileObjectType[]>} - Resolves with the commands.
     */
    findCommands(): Promise<CommandFileObjectType[]>;
    /**
     * Runs find migrations.
     * @abstract
     * @returns {Promise<Array<MigrationObjectType>>} - Resolves with the migrations.
     */
    findMigrations(): Promise<Array<MigrationObjectType>>;
    /**
     * Runs forward command.
     * @param {import("../cli/base-command.js").default} command - Command.
     * @param {typeof import("../cli/base-command.js").default} CommandClass - Command class.
     * @returns {Promise<?>} - Resolves with the command result.
     */
    forwardCommand(command: import("../cli/base-command.js").default, CommandClass: typeof import("../cli/base-command.js").default): Promise<unknown>;
    /**
     * Runs get velocious path.
     * @abstract
     * @returns {Promise<string>} - Resolves with the velocious path.
     */
    getVelociousPath(): Promise<string>;
    /**
     * Runs import application routes.
     * @abstract
     * @returns {Promise<import("../routes/index.js").default>} - Resolves with the import application routes.
     */
    importApplicationRoutes(): Promise<import("../routes/index.js").default>;
    /**
     * Runs import test files.
     * @abstract
     * @param {string[]} _testFiles - Test files.
     * @returns {Promise<void>} - Resolves when complete.
     */
    importTestFiles(_testFiles: string[]): Promise<void>;
    /**
     * Runs import testing config path.
     * @abstract
     * @returns {Promise<void>} - Resolves when complete.
     */
    importTestingConfigPath(): Promise<void>;
    /**
     * Runs after migrations.
     * @param {object} args - Options object.
     * @param {Record<string, import("../database/drivers/base.js").default>} args.dbs - Dbs.
     * @param {"migration" | "schemaDump"} [args.reason] - Why the structure write hook is being invoked.
     * @returns {Promise<void>} - Resolves when complete.
     */
    afterMigrations(args: {
        dbs: Record<string, import("../database/drivers/base.js").default>;
        reason?: "migration" | "schemaDump" | undefined;
    }): Promise<void>;
    /**
     * Runs require command.
     * @abstract
     * @param {object} args - Options object.
     * @param {string[]} args.commandParts - Command parts.
     * @returns {Promise<typeof import ("../cli/base-command.js").default>} - Resolves with the require command.
     */
    requireCommand({ commandParts }: {
        commandParts: string[];
    }): Promise<typeof import("../cli/base-command.js").default>;
    /**
     * Runs set args.
     * @param {object} newArgs - New args.
     * @returns {void} - No return value.
     */
    setArgs(newArgs: object): void;
    args: object | undefined;
    /**
     * Runs set configuration.
     * @param {import("../configuration.js").default} newConfiguration - New configuration.
     * @returns {void} - No return value.
     */
    setConfiguration(newConfiguration: import("../configuration.js").default): void;
    configuration: import("../configuration.js").default | undefined;
    /**
     * Runs read attachment input file.
     * @param {string} _filePath - File path.
     * @returns {Promise<Buffer>} - File bytes.
     */
    readAttachmentInputFile(_filePath: string): Promise<Buffer>;
    /**
     * Runs resolve attachment input path.
     * @param {object} _args - Args.
     * @param {string[]} _args.allowedPathPrefixes - Allowed path prefixes.
     * @param {string} _args.inputPath - Input path.
     * @returns {Promise<{buffer: Buffer, filePath: string}>} - Resolved path and file bytes.
     */
    resolveAttachmentInputPath(_args: {
        allowedPathPrefixes: string[];
        inputPath: string;
    }): Promise<{
        buffer: Buffer;
        filePath: string;
    }>;
    /**
     * Runs get configuration.
     * @returns {import("../configuration.js").default} - The configuration.
     */
    getConfiguration(): import("../configuration.js").default;
    /**
     * Runs set process args.
     * @param {string[]} newProcessArgs - New process args.
     * @returns {void} - No return value.
     */
    setProcessArgs(newProcessArgs: string[]): void;
    processArgs: string[] | undefined;
    /**
     * Runs get default log directory.
     * @param {object} _args - Options object.
     * @param {import("../configuration.js").default} _args.configuration - Configuration instance.
     * @returns {string | undefined} - The default log directory.
     */
    getDefaultLogDirectory(_args: {
        configuration: import("../configuration.js").default;
    }): string | undefined;
    /**
     * Runs get log file path.
     * @param {object} _args - Options object.
     * @param {import("../configuration.js").default} _args.configuration - Configuration instance.
     * @param {string | undefined} _args.directory - Directory path.
     * @param {string} _args.environment - Environment.
     * @returns {string | undefined} - The log file path.
     */
    getLogFilePath(_args: {
        configuration: import("../configuration.js").default;
        directory: string | undefined;
        environment: string;
    }): string | undefined;
    /**
     * Runs write log to file.
     * @param {object} _args - Options object.
     * @param {string} _args.filePath - File path.
     * @param {string} _args.message - Message text.
     * @returns {Promise<void>} - Resolves when complete.
     */
    writeLogToFile(_args: {
        filePath: string;
        message: string;
    }): Promise<void>;
    /**
     * Registers frontend-model websocket channel publishers so lifecycle
     * event hooks (create/update/destroy) broadcast over the shared
     * "frontend-models" channel. The base handler is a no-op — only the
     * Node handler performs the registration because the required
     * `frontend-model-controller` and `routes/resolver` imports pull in
     * server-only modules that break browser bundlers.
     * @param {import("../configuration.js").default} _configuration - Configuration instance.
     * @returns {Promise<void>} - Resolves when complete.
     */
    initializeFrontendModelWebsocketPublishers(_configuration: import("../configuration.js").default): Promise<void>;
}
/**
 * CommandFileObjectType type.
 */
export type CommandFileObjectType = {
    /**
     * - Command name.
     */
    name: string;
    /**
     * - Command file path.
     */
    file: string;
};
/**
 * MigrationObjectType type.
 */
export type MigrationObjectType = {
    /**
     * - Migration timestamp parsed from filename.
     */
    date: number;
    /**
     * - Absolute path to the migration file.
     */
    fullPath?: string | undefined;
    /**
     * - Exported migration class name.
     */
    migrationClassName: string;
    /**
     * - Migration filename.
     */
    file: string;
};
//# sourceMappingURL=base.d.ts.map