import { Event } from "../../../../base/common/event.js"; import { IDisposable } from "../../../../base/common/lifecycle.js"; import { OperatingSystem, IProcessEnvironment } from "../../../../base/common/platform.js"; import { ThemeIcon } from "../../../../base/common/themables.js"; import { SingleOrMany } from "../../../../base/common/types.js"; import { IShellLaunchConfig, ITerminalProfile, TerminalIcon, type IExtensionTerminalProfile } from "../../../../platform/terminal/common/terminal.js"; import { IShellLaunchConfigResolveOptions, type IRegisterContributedProfileArgs, type ITerminalProfileProvider } from "./terminal.js"; export declare const ITerminalProfileResolverService: import("../../../../platform/instantiation/common/instantiation.js").ServiceIdentifier; export interface ITerminalProfileResolverService { readonly _serviceBrand: undefined; readonly defaultProfileName: string | undefined; /** * Resolves the icon of a shell launch config if this will use the default profile */ resolveIcon(shellLaunchConfig: IShellLaunchConfig, os: OperatingSystem): void; resolveShellLaunchConfig(shellLaunchConfig: IShellLaunchConfig, options: IShellLaunchConfigResolveOptions): Promise; getDefaultProfile(options: IShellLaunchConfigResolveOptions): Promise; getDefaultShell(options: IShellLaunchConfigResolveOptions): Promise; getDefaultShellArgs(options: IShellLaunchConfigResolveOptions): Promise>; getDefaultIcon(): TerminalIcon & ThemeIcon; getEnvironment(remoteAuthority: string | undefined): Promise; } export declare const ITerminalProfileService: import("../../../../platform/instantiation/common/instantiation.js").ServiceIdentifier; export interface ITerminalProfileService { readonly _serviceBrand: undefined; readonly availableProfiles: ITerminalProfile[]; readonly contributedProfiles: IExtensionTerminalProfile[]; readonly profilesReady: Promise; getPlatformKey(): Promise; refreshAvailableProfiles(): void; getDefaultProfileName(): string | undefined; getDefaultProfile(os?: OperatingSystem): ITerminalProfile | undefined; readonly onDidChangeAvailableProfiles: Event; getContributedDefaultProfile(shellLaunchConfig: IShellLaunchConfig): Promise; registerContributedProfile(args: IRegisterContributedProfileArgs): Promise; getContributedProfileProvider(extensionIdentifier: string, id: string): ITerminalProfileProvider | undefined; registerTerminalProfileProvider(extensionIdentifier: string, id: string, profileProvider: ITerminalProfileProvider): IDisposable; }