import { classifyEntry, type IScanOptions, type IScanRow } from '../lib/env-scan.js'; /** The workspace's secrets, as far as this command needs them. The real one is the SDK proxy; a test passes its own. */ export interface ISecretStore { /** The keys of the secrets the workspace already has. */ keys(): Promise; create(input: { key: string; value: string; description: string; envs?: string[]; }): Promise; update(key: string, input: { value: string; description?: string; }): Promise; } export interface IScanCommandOptions extends IScanOptions { /** The file to read. Default: .env in `dir`. */ envFile?: string; /** The project folder. Default: the current folder. */ dir?: string; /** The environment slug the saved secrets are limited to. Without it they are available in every environment. */ env?: string; /** Save them. Without it nothing is saved and the result says what would be. */ apply?: boolean; json?: boolean; } /** The file to read: the one named, or `.env` in the project folder. When there is none, the ones that are there are named, never read. */ export declare function locateEnvFile(options: { envFile?: string; dir?: string; }, cwd?: string): string; export interface IScanOutcome { rows: IScanRow[]; applied: boolean; failures: Array<{ key: string; message: string; }>; result: Record; } /** * Reads a .env file on this machine, decides which variables are secrets, and (only with `apply`) saves them to the workspace's secrets. A value * goes from the file to the workspace and nowhere else: it is not printed, not logged and not in any result, and an error from the workspace is * stripped of any value before it is shown. */ export declare function scanEnvFile(options: IScanCommandOptions, store?: ISecretStore, cwd?: string): Promise; export declare function runSecretsScanEnv(options: IScanCommandOptions): Promise; export { classifyEntry };