import { CancellationToken } from "../../../../../base/common/cancellation.js";
import { IDisposable } from "../../../../../base/common/lifecycle.js";
import { ITerminalCapabilityStore } from "@codingame/monaco-vscode-47472025-cc45-5680-86cd-09ceaba921a1-common/vscode/vs/platform/terminal/common/capabilities/capabilities";
import { TerminalShellType } from "../../../../../platform/terminal/common/terminal.js";
import { ITerminalCompletion } from "@codingame/monaco-vscode-terminal-service-override/vscode/vs/workbench/contrib/terminalContrib/suggest/browser/terminalCompletionItem";
import { ITerminalCompletionProvider } from "@codingame/monaco-vscode-terminal-service-override/vscode/vs/workbench/contrib/terminalContrib/suggest/browser/terminalCompletionService";
export declare const ITerminalCompletionService: import("../../../../../platform/instantiation/common/instantiation.js").ServiceIdentifier<ITerminalCompletionService>;
export interface ITerminalCompletionService {
    _serviceBrand: undefined;
    readonly providers: IterableIterator<ITerminalCompletionProvider>;
    registerTerminalCompletionProvider(extensionIdentifier: string, id: string, provider: ITerminalCompletionProvider, ...triggerCharacters: string[]): IDisposable;
    provideCompletions(promptValue: string, cursorPosition: number, allowFallbackCompletions: boolean, shellType: TerminalShellType, capabilities: ITerminalCapabilityStore, token: CancellationToken, triggerCharacter?: boolean, skipExtensionCompletions?: boolean): Promise<ITerminalCompletion[] | undefined>;
}
