import * as Diff from 'diff'; import { CommandModule } from 'yargs'; import { Vault } from './bitwarden-vault'; export interface ApplyTemplatesOptions { only: string; yes: boolean; no: boolean; verbose: boolean; replace: boolean; bitwardenUrl: string | undefined; commentObsolete: boolean; } export interface DiffResult { result: 'created' | 'same' | 'different' | 'differentLayout'; diff: Diff.Change[]; } export declare const applyTemplates: CommandModule; /** * Represents a mapping between a config template and target file. */ export declare class ConfigTransform { readonly template: string; readonly target: string; constructor(template: string, target: string); readonly targetExists: boolean; compare(_: boolean, __: boolean, ___: boolean): DiffResult; writeTarget(): void; } /** * Represents a mapping between a .env config template and target file. */ export declare class EnvConfigTransform extends ConfigTransform { constructor(template: string, target: string, bitwardenVault?: Vault); readonly bitwardenVault?: Vault; private newContent?; private readTemplate; private mergeContent; compare(replace: boolean, verbose: boolean, commentObsolete: boolean): DiffResult; writeTarget(): void; } export declare function getEnvConfigTransforms(template: string): string[]; export declare function transformComparison(transform: ConfigTransform, replace: boolean, verbose: boolean, commentObsolete: boolean): DiffResult['result'];