import type { TerminalProfile } from "./messages.js"; /** * Marks where a typed prompt goes inside a profile's `command` or `args`. A * profile carrying it accepts a prompt; one without it launches as-is. * * Substitution happens client-side before `create_terminal_request` is sent, so * this is profile-format vocabulary rather than anything on the wire. It lives * here because this module owns what a `TerminalProfile` means. */ export declare const PROMPT_SENTINEL = "{{{prompt}}}"; export declare const DEFAULT_TERMINAL_PROFILES: readonly TerminalProfile[]; export interface SubstitutableCommand { command: string; args?: string[]; } export interface ResolvedCommand { command: string; args: string[]; } /** True when the sentinel appears anywhere in `command` or an `args` entry. */ export declare function profileTakesPrompt(profile: SubstitutableCommand): boolean; /** Replaces every sentinel occurrence with `prompt`, dropping prompt-only args when there is none. */ export declare function substitutePrompt(profile: SubstitutableCommand, prompt: string): ResolvedCommand; /** Human-readable preview of the resolved command, for read-only display. */ export declare function formatResolvedCommand(resolved: ResolvedCommand): string; export interface TerminalProfileLaunch { name: string; command: string; args: string[]; } /** * What to spawn for a profile. Every launcher goes through here, so no caller * can forward a raw `profile.args` still carrying the sentinel: launchers with * nowhere to type (pinned targets, the workspace terminal menu) pass an empty * prompt and get the bare command back. */ export declare function resolveTerminalProfileLaunch(profile: TerminalProfile, prompt: string): TerminalProfileLaunch; export declare function guessTerminalProfileIcon(command: string): string | undefined; export declare function getTerminalProfileIcon(profile: TerminalProfile): string | undefined; export declare function resolveTerminalProfiles(terminalProfiles: TerminalProfile[] | undefined): readonly TerminalProfile[]; //# sourceMappingURL=terminal-profiles.d.ts.map