import { URI } from "../../../../../base/common/uri.js";
import { ThemeIcon } from "../../../../../base/common/themables.js";
import { IProductService } from "../../../../../platform/product/common/productService.service.js";
import { isAgentHostTarget } from "../../common/chatSessionsService.js";
export declare enum AgentSessionProviders {
    Local = "local",
    Background = "copilotcli",
    Cloud = "copilot-cloud-agent",
    Claude = "claude-code",
    Codex = "openai-codex",
    Growth = "copilot-growth",
    AgentHostCopilot = "agent-host-copilotcli"
}
/**
 * A session target is either a well-known {@link AgentSessionProviders} enum
 * value or a dynamic string for dynamically-registered providers (e.g. remote
 * agent hosts like `remote-{authority}-copilot`).
 * TODO@roblourens HACK
 */
export type AgentSessionTarget = AgentSessionProviders | (string & {});
export declare function isBuiltInAgentSessionProvider(provider: AgentSessionTarget): boolean;
export declare function getAgentSessionProvider(sessionResource: URI | string): AgentSessionProviders | undefined;
export declare function getAgentSessionProviderName(provider: AgentSessionTarget): string;
export declare function getAgentSessionProviderIcon(provider: AgentSessionTarget): ThemeIcon;
/**
 * Returns the VS Code or VS Code Insiders icon depending on product quality.
 */
export declare function getAgentHostIcon(productService: IProductService): ThemeIcon;
export declare function isFirstPartyAgentSessionProvider(provider: AgentSessionTarget): boolean;
/**
 * Re-exported from `common/chatSessionsService.ts` so existing browser-layer
 * callers keep working without changing imports.
 */
export { isAgentHostTarget };
export declare function getAgentCanContinueIn(provider: AgentSessionTarget): boolean;
export declare function getAgentSessionProviderDescription(provider: AgentSessionTarget): string;
export declare enum AgentSessionsViewerOrientation {
    Stacked = 1,
    SideBySide = 2
}
export declare enum AgentSessionsViewerPosition {
    Left = 1,
    Right = 2
}
export interface IAgentSessionsControl {
    readonly element: HTMLElement | undefined;
    refresh(): void;
    openFind(): void;
    reveal(sessionResource: URI): boolean;
    clearFocus(): void;
    hasFocusOrSelection(): boolean;
    resetSectionCollapseState(): void;
    collapseAllSections(): void;
}
export declare const agentSessionReadIndicatorForeground: string;
export declare const agentSessionSelectedBadgeBorder: string;
export declare const agentSessionSelectedUnfocusedBadgeBorder: string;
export declare const AGENT_SESSION_RENAME_ACTION_ID = "agentSession.rename";
export declare const AGENT_SESSION_DELETE_ACTION_ID = "agentSession.delete";
