import { AsyncConfigSourceGenerator, ConfigSource, SubstitutionFunc, Parser, ReadConfigDataOptions } from './types';
/**
 * Options for {@link FileConfigSource.create}.
 *
 * @public
 */
export interface FileConfigSourceOptions {
    /**
     * The path to the config file that should be loaded.
     */
    path: string;
    /**
     * Set to `false` to disable file watching, defaults to `true`.
     */
    watch?: boolean;
    /**
     * A substitution function to use instead of the default environment substitution.
     */
    substitutionFunc?: SubstitutionFunc;
    /**
     * A content parsing function to transform string content to configuration values.
     */
    parser?: Parser;
}
/**
 * A config source that loads configuration from a local file.
 *
 * @public
 */
export declare class FileConfigSource implements ConfigSource {
    #private;
    /**
     * Creates a new config source that loads configuration from the given path.
     *
     * @remarks
     *
     * The source will watch the file for changes, as well as any referenced files.
     *
     * @param options - Options for the config source.
     * @returns A new config source that loads from the given path.
     */
    static create(options: FileConfigSourceOptions): ConfigSource;
    private constructor();
    readConfigData(options?: ReadConfigDataOptions): AsyncConfigSourceGenerator;
    toString(): string;
}
