import { VerdaConfig } from "../config";
import Director from "../core/director";
export declare function bindDefaultRuleTypes(cfg: VerdaConfig, dir: Director): {
    SelfTracking: <T>(pattern: string, FRecipe: import("..").ExportBuildRecipe<T, string[]>) => (literals: string | TemplateStringsArray, ...placeholders: unknown[]) => import("..").Goal<T, string[]>;
    phony: (<T>(pattern: string, FRecipe: import("..").ExportBuildRecipe<T, string[]>) => import("..").Goal<T, string[]>) & {
        glob: <T>(pattern: string, FRecipe: import("..").ExportBuildRecipe<T, string[]>) => (literals: string | TemplateStringsArray, ...placeholders: unknown[]) => import("..").Goal<T, string[]>;
        group: <T>(_subPrefix: string, FRecipe: import("..").ExportBuildRecipe<T, string[]>) => (literals: string | TemplateStringsArray, ...placeholders: unknown[]) => import("..").Goal<T, string[]>;
        make: <T, K extends string[]>(mk: (...args: K) => string, FRecipe: import("..").ExportBuildRecipe<T, string[]>) => (...args: K) => import("..").Goal<T, string[]>;
    };
    task: (<T>(pattern: string, FRecipe: import("..").ExportBuildRecipe<T, string[]>) => import("..").Goal<T, string[]>) & {
        glob: <T>(pattern: string, FRecipe: import("..").ExportBuildRecipe<T, string[]>) => (literals: string | TemplateStringsArray, ...placeholders: unknown[]) => import("..").Goal<T, string[]>;
        group: <T>(_subPrefix: string, FRecipe: import("..").ExportBuildRecipe<T, string[]>) => (literals: string | TemplateStringsArray, ...placeholders: unknown[]) => import("..").Goal<T, string[]>;
        make: <T, K extends string[]>(mk: (...args: K) => string, FRecipe: import("..").ExportBuildRecipe<T, string[]>) => (...args: K) => import("..").Goal<T, string[]>;
    };
    file: ((pattern: string, FRecipe: import("..").ExportBuildRecipe<void, import("./matchers").FileExecArgs>) => import("..").Goal<import("./interface").FileStatInfo, [import("..").ParsedPath, ...string[]]>) & {
        glob: (pattern: string, FRecipe: import("..").ExportBuildRecipe<void, import("./matchers").FileExecArgs>) => (literals: string | TemplateStringsArray, ...placeholders: unknown[]) => import("..").Goal<import("./interface").FileStatInfo, [import("..").ParsedPath, ...string[]]>;
        make: <K extends string[]>(mk: (...args: K) => string, FRecipe: import("..").ExportBuildRecipe<void, import("./matchers").FileExecArgs>) => (...args: K) => import("..").Goal<import("./interface").FileStatInfo, import("./matchers").FileExecArgs>;
        getPathOf(goal: import("..").Dependency): import("..").ParsedPath;
    };
    oracle: (<T>(pattern: string, FRecipe: import("..").ExportBuildRecipe<T, string[]>) => import("..").Goal<T, string[]>) & {
        glob: <T>(pattern: string, FRecipe: import("..").ExportBuildRecipe<T, string[]>) => (literals: string | TemplateStringsArray, ...placeholders: unknown[]) => import("..").Goal<T, string[]>;
        group: <T>(_subPrefix: string, FRecipe: import("..").ExportBuildRecipe<T, string[]>) => (literals: string | TemplateStringsArray, ...placeholders: unknown[]) => import("..").Goal<T, string[]>;
        make: <T, K extends string[]>(mk: (...args: K) => string, FRecipe: import("..").ExportBuildRecipe<T, string[]>) => (...args: K) => import("..").Goal<T, string[]>;
    };
    computed: (<T>(pattern: string, FRecipe: import("..").ExportBuildRecipe<T, string[]>) => import("..").Goal<T, string[]>) & {
        glob: <T>(pattern: string, FRecipe: import("..").ExportBuildRecipe<T, string[]>) => (literals: string | TemplateStringsArray, ...placeholders: unknown[]) => import("..").Goal<T, string[]>;
        group: <T>(_subPrefix: string, FRecipe: import("..").ExportBuildRecipe<T, string[]>) => (literals: string | TemplateStringsArray, ...placeholders: unknown[]) => import("..").Goal<T, string[]>;
        make: <T, K extends string[]>(mk: (...args: K) => string, FRecipe: import("..").ExportBuildRecipe<T, string[]>) => (...args: K) => import("..").Goal<T, string[]>;
    };
};
export declare function bindDefaultRulesAndFunctions(cfg: VerdaConfig, dir: Director): {
    rules: {
        F: (literals: string | TemplateStringsArray, ...placeholders: string[]) => import("..").Goal<import("./interface").FileStatInfo, import("./matchers").FileExecArgs>;
        S: (literals: string | TemplateStringsArray, ...placeholders: string[]) => import("..").Goal<import("./interface").FileStatInfo, import("./matchers").FileExecArgs>;
        D: (literals: string | TemplateStringsArray, ...placeholders: string[]) => import("..").Goal<import("./interface").FileStatInfo, import("./matchers").FileExecArgs>;
        fu: (literals: string | TemplateStringsArray, ...placeholders: string[]) => import("..").Goal<import("./interface").FileStatInfo, import("./matchers").FileExecArgs>;
        fileUpdated: (literals: string | TemplateStringsArray, ...placeholders: string[]) => import("..").Goal<import("./interface").FileStatInfo, import("./matchers").FileExecArgs>;
        sfu: (literals: string | TemplateStringsArray, ...placeholders: string[]) => import("..").Goal<import("./interface").FileStatInfo, import("./matchers").FileExecArgs>;
        sourceFileUpdated: (literals: string | TemplateStringsArray, ...placeholders: string[]) => import("..").Goal<import("./interface").FileStatInfo, import("./matchers").FileExecArgs>;
        ofu: (literals: string | TemplateStringsArray, ...placeholders: string[]) => import("..").Goal<import("./interface").FileStatInfo, import("./matchers").FileExecArgs>;
        optionalFileUpdated: (literals: string | TemplateStringsArray, ...placeholders: string[]) => import("..").Goal<import("./interface").FileStatInfo, import("./matchers").FileExecArgs>;
        fe: (literals: string | TemplateStringsArray, ...placeholders: string[]) => import("..").Goal<import("./interface").FileStatInfo, import("./matchers").FileExecArgs>;
        fileExists: (literals: string | TemplateStringsArray, ...placeholders: string[]) => import("..").Goal<import("./interface").FileStatInfo, import("./matchers").FileExecArgs>;
        de: (literals: string | TemplateStringsArray, ...placeholders: string[]) => import("..").Goal<import("./interface").FileStatInfo, import("./matchers").FileExecArgs>;
        dirExists: (literals: string | TemplateStringsArray, ...placeholders: string[]) => import("..").Goal<import("./interface").FileStatInfo, import("./matchers").FileExecArgs>;
        dc: import("..").GoalFunction<import("..").DirContents, string[]>;
        dirContent: import("..").GoalFunction<import("..").DirContents, string[]>;
        ds: import("..").GoalFunction<import("..").DirContents, string[]>;
        dirStructure: import("..").GoalFunction<import("..").DirContents, string[]>;
    };
    predefinedFuncs: {
        FileList: (options: import("../predefined-functions/file-list").FileListDefinitionOptions) => (target: import("..").BuildContext) => Promise<string[]>;
    };
};
