import { IAsyncArgdownPlugin, IAsyncRequestHandler } from "../IAsyncArgdownPlugin";
import { IArgdownRequest, IRequestHandler } from "@argdown/core";
export interface IIncludeSettings {
    regEx?: RegExp;
}
declare module "@argdown/core" {
    interface IArgdownRequest {
        include?: IIncludeSettings;
    }
}
export declare class IncludePlugin implements IAsyncArgdownPlugin {
    name: string;
    defaults: IIncludeSettings;
    constructor(config?: IIncludeSettings);
    getSettings: (request: IArgdownRequest) => IIncludeSettings;
    prepare: IRequestHandler;
    runAsync: IAsyncRequestHandler;
    replaceIncludesAsync(currentFilePath: string, str: string, regEx: RegExp, filesAlreadyIncluded: string[]): Promise<string>;
}
