import { Variable, VariableResolver } from '../common/snippetParser'; /** * Interface for resolving environment-specific variables. * Implement this for each host environment (VS Code, CLI, etc.). */ export interface VariableProvider { /** Obtain a note title interactively or from environment context. */ resolveTitle(): Promise; /** Return selected text in the current editor, or '' if not applicable. */ resolveSelectedText(): string; /** Return the current working directory path. */ resolveCurrentDir(): string; } export declare class Resolver implements VariableResolver { private givenValues; foamDate: Date; private locale; private variableProvider?; private promises; /** * @param givenValues pre-supplied variable values (e.g. FOAM_TITLE for daily notes) * @param foamDate date used for FOAM_DATE_* variables * @param foamTitle convenience shorthand for givenValues.set('FOAM_TITLE', ...) * @param locale locale string for date formatting, defaults to 'default' * @param variableProvider environment-specific provider for interactive variables */ constructor(givenValues: Map, foamDate: Date, foamTitle?: string, locale?: string, variableProvider?: VariableProvider); define(name: string, value: string): void; getVariables(): Record; resolveText(text: string): Promise; resolveAll(variables: Variable[]): Promise>; resolveFromName(name: string): Promise; resolve(variable: Variable): Promise; } export declare const resolveFoamTitleSafe: (resolver: Resolver) => Promise; //# sourceMappingURL=variable-resolver.d.ts.map