import { IDisposable } from "../../../../../../base/common/lifecycle.js";
import { URI } from "../../../../../../base/common/uri.js";
import { ITextModel } from "../../../../../../editor/common/model.js";
import { TSharedPrompt, TPromptsType, IPromptPath, IChatPromptSlashCommand, IMetadata, TCombinedToolsMetadata } from "./types.js";
export declare const IPromptsService: import("../../../../../../platform/instantiation/common/instantiation.js").ServiceIdentifier<IPromptsService>;
export interface IPromptsService extends IDisposable {
    readonly _serviceBrand: undefined;
    getSyntaxParserFor(model: ITextModel): TSharedPrompt & {
        disposed: false;
    };
    listPromptFiles(type: TPromptsType): Promise<readonly IPromptPath[]>;
    getSourceFolders(type: TPromptsType): readonly IPromptPath[];
    asPromptSlashCommand(name: string): IChatPromptSlashCommand | undefined;
    resolvePromptSlashCommand(data: IChatPromptSlashCommand): Promise<IPromptPath | undefined>;
    findPromptSlashCommands(): Promise<IChatPromptSlashCommand[]>;
    findInstructionFilesFor(fileUris: readonly URI[]): Promise<readonly URI[]>;
    getAllMetadata(promptUris: readonly URI[]): Promise<readonly IMetadata[]>;
    getCombinedToolsMetadata(promptUris: readonly URI[]): Promise<TCombinedToolsMetadata | null>;
}
