export type Environment = 'dev' | 'prod';
export declare class SecretsManager {
    private storePath;
    constructor(projectPath: string);
    private readStore;
    private writeStore;
    /**
     * List secret names and their values for the given environment.
     * Returns names only (not values) for display purposes.
     */
    list(env: Environment): Promise<string[]>;
    /**
     * Get declared secret key-value pairs for the given environment.
     * Used internally to inject into bp dev/deploy.
     *
     * Secrets present in the local store but not listed in `declaredSecrets`
     * (i.e. orphans from a removed declaration) are filtered out so they are
     * never injected into the bot process or forwarded to `bp dev`/`bp deploy`.
     * The local file is not modified — call `delete` to remove a value for good.
     */
    getAll(env: Environment, declaredSecrets: Record<string, {
        optional?: boolean;
        description?: string;
    }>): Promise<Record<string, string>>;
    /**
     * Set a secret value in the local store.
     */
    set(key: string, value: string, env: Environment): Promise<void>;
    /**
     * Delete a secret from the local store.
     */
    delete(key: string, env: Environment): Promise<void>;
    /**
     * Compare declared secrets against what's stored locally.
     */
    getMissing(declaredSecrets: Record<string, {
        optional?: boolean;
        description?: string;
    }>, storedSecrets: Record<string, string>): {
        required: string[];
        optional: string[];
    };
}
//# sourceMappingURL=manager.d.ts.map