import { RawContextKey } from "../../../../../platform/contextkey/common/contextkey.js";
import { ViewContainerLocation } from "../../../../common/views.js";
import { ChatAgentLocation, ChatModeKind, ChatPermissionLevel } from "../constants.js";
export declare namespace ChatContextKeys {
    const responseVote: RawContextKey<string>;
    const responseDetectedAgentCommand: RawContextKey<boolean>;
    const responseSupportsIssueReporting: RawContextKey<boolean>;
    const responseIsFiltered: RawContextKey<boolean>;
    const responseHasError: RawContextKey<boolean>;
    const requestInProgress: RawContextKey<boolean>;
    const hasActiveRequest: RawContextKey<boolean>;
    const currentlyEditing: RawContextKey<boolean>;
    const currentlyEditingInput: RawContextKey<boolean>;
    enum EditingRequestType {
        Sent = "s",
        Queue = "q",
        Steer = "st"
    }
    const editingRequestType: RawContextKey<EditingRequestType | undefined>;
    const isResponse: RawContextKey<boolean>;
    const isRequest: RawContextKey<boolean>;
    const isFirstRequest: RawContextKey<boolean>;
    const isPendingRequest: RawContextKey<boolean>;
    const itemId: RawContextKey<string>;
    const lastItemId: RawContextKey<string[]>;
    const editApplied: RawContextKey<boolean>;
    const inputHasText: RawContextKey<boolean>;
    const inputHasSendableContent: RawContextKey<boolean>;
    const inputHasFocus: RawContextKey<boolean>;
    const inChatInput: RawContextKey<boolean>;
    const inChatSession: RawContextKey<boolean>;
    const inChatQuestionCarousel: RawContextKey<boolean>;
    const chatQuestionCarouselHasTerminal: RawContextKey<boolean>;
    const inChatEditor: RawContextKey<boolean>;
    const inChatTodoList: RawContextKey<boolean>;
    const inChatTip: RawContextKey<boolean>;
    const multipleChatTips: RawContextKey<boolean>;
    const inChatTerminalToolOutput: RawContextKey<boolean>;
    const chatModeKind: RawContextKey<ChatModeKind>;
    const chatPermissionLevel: RawContextKey<ChatPermissionLevel>;
    const chatModeName: RawContextKey<string>;
    const chatModelId: RawContextKey<string>;
    const supported: import("../../../../../platform/contextkey/common/contextkey.js").ContextKeyExpression | undefined;
    const enabled: RawContextKey<boolean>;
    const accountPolicyGateActive: RawContextKey<boolean>;
    /**
     * True when the chat widget is locked to the coding agent session.
     */
    const lockedToCodingAgent: RawContextKey<boolean>;
    const lockedCodingAgentId: RawContextKey<string>;
    /**
     * True when the chat session has a customAgentTarget defined in its contribution,
     * which means the mode picker should be shown with filtered custom agents.
     */
    const chatSessionHasCustomAgentTarget: RawContextKey<boolean>;
    /**
     * True when the current chat session has models that specifically target it
     * via `targetChatSessionType`, which means the model picker should be shown
     * even when the widget is locked to a coding agent.
     */
    const chatSessionHasTargetedModels: RawContextKey<boolean>;
    const agentSupportsAttachments: RawContextKey<boolean>;
    const withinEditSessionDiff: RawContextKey<boolean>;
    const filePartOfEditSession: RawContextKey<boolean>;
    const extensionParticipantRegistered: RawContextKey<boolean>;
    const panelParticipantRegistered: RawContextKey<boolean>;
    const chatEditingCanUndo: RawContextKey<boolean>;
    const chatEditingCanRedo: RawContextKey<boolean>;
    const languageModelsAreUserSelectable: RawContextKey<boolean>;
    const nonCopilotLanguageModelsAreUserSelectable: RawContextKey<boolean>;
    const chatSessionHasModels: RawContextKey<boolean>;
    const chatSessionOptionsValid: RawContextKey<boolean>;
    const extensionInvalid: RawContextKey<boolean>;
    const inputCursorAtTop: RawContextKey<boolean>;
    const inputHasAgent: RawContextKey<boolean>;
    const location: RawContextKey<ChatAgentLocation>;
    const inQuickChat: RawContextKey<boolean>;
    const inAgentSessionsWelcome: RawContextKey<boolean>;
    const chatSessionType: RawContextKey<string>;
    const hasFileAttachments: RawContextKey<boolean>;
    const chatSessionIsEmpty: RawContextKey<boolean>;
    const hasPendingRequests: RawContextKey<boolean>;
    const chatSessionHasDebugData: RawContextKey<boolean>;
    const chatSessionHasDebugTools: RawContextKey<boolean>;
    const remoteJobCreating: RawContextKey<boolean>;
    const hasRemoteCodingAgent: RawContextKey<boolean>;
    const hasCanDelegateProviders: RawContextKey<boolean>;
    const enableRemoteCodingAgentPromptFileOverlay: RawContextKey<boolean>;
    /** Used by the extension to skip the quit confirmation when #new wants to open a new folder */
    const skipChatRequestInProgressMessage: RawContextKey<boolean>;
    const Setup: {
        hidden: RawContextKey<boolean>;
        installed: RawContextKey<boolean>;
        disabled: RawContextKey<boolean>;
        disabledInWorkspace: RawContextKey<boolean>;
        untrusted: RawContextKey<boolean>;
        later: RawContextKey<boolean>;
        registered: RawContextKey<boolean>;
        completed: RawContextKey<boolean>;
    };
    const Entitlement: {
        signedOut: RawContextKey<boolean>;
        canSignUp: RawContextKey<boolean>;
        planFree: RawContextKey<boolean>;
        planPro: RawContextKey<boolean>;
        planEdu: RawContextKey<boolean>;
        planProPlus: RawContextKey<boolean>;
        planMax: RawContextKey<boolean>;
        planBusiness: RawContextKey<boolean>;
        planEnterprise: RawContextKey<boolean>;
        organisations: RawContextKey<string[]>;
        internal: RawContextKey<boolean>;
        sku: RawContextKey<string>;
    };
    const chatQuotaExceeded: RawContextKey<boolean>;
    const completionsQuotaExceeded: RawContextKey<boolean>;
    const Editing: {
        hasToolConfirmation: RawContextKey<boolean>;
        hasElicitationRequest: RawContextKey<boolean>;
        hasQuestionCarousel: RawContextKey<boolean>;
    };
    const Tools: {
        toolsCount: RawContextKey<number>;
    };
    const foregroundSessionCount: RawContextKey<number>;
    const Modes: {
        hasCustomChatModes: RawContextKey<boolean>;
        agentModeDisabledByPolicy: RawContextKey<boolean>;
    };
    const panelLocation: RawContextKey<ViewContainerLocation>;
    const agentSessionsViewerFocused: RawContextKey<boolean>;
    const agentSessionsViewerOrientation: RawContextKey<number>;
    const agentSessionsViewerPosition: RawContextKey<number>;
    const agentSessionsViewerVisible: RawContextKey<boolean>;
    const agentSessionType: RawContextKey<string>;
    const chatSessionSupportsDelegation: RawContextKey<boolean>;
    const chatSessionSupportsFork: RawContextKey<boolean>;
    const agentSessionSection: RawContextKey<string>;
    const isArchivedAgentSession: RawContextKey<boolean>;
    const isPinnedAgentSession: RawContextKey<boolean>;
    const isReadAgentSession: RawContextKey<boolean>;
    const hasMultipleAgentSessionsSelected: RawContextKey<boolean>;
    const hasAgentSessionChanges: RawContextKey<boolean>;
    const isKatexMathElement: RawContextKey<boolean>;
    /**
     * True when the user has submitted a chat request using any of the `/create-*` slash commands.
     * This is persisted in application storage and used to suppress onboarding tips once discovered.
     */
    const hasUsedCreateSlashCommands: RawContextKey<boolean>;
    const contextUsageHasBeenOpened: RawContextKey<boolean>;
    const newChatButtonExperimentIcon: RawContextKey<string>;
}
export declare namespace ChatContextKeyExprs {
    const inEditingMode: import("../../../../../platform/contextkey/common/contextkey.js").ContextKeyExpression | undefined;
    /**
     * True when the locked coding agent is an agent host session (agent-host-* or remote-*).
     * These sessions use {@link AgentHostSnapshotController} which supports checkpoint-based restore.
     */
    const isAgentHostSession: import("../../../../../platform/contextkey/common/contextkey.js").ContextKeyExpression | undefined;
    /**
     * True when an agent session item (e.g. in the sessions viewer) is an agent
     * host session (agent-host-* or remote-*). Keyed on {@link ChatContextKeys.agentSessionType}
     * rather than the locked coding agent, for use in session item menus and keybindings.
     */
    const isAgentHostSessionItem: import("../../../../../platform/contextkey/common/contextkey.js").ContextKeyExpression | undefined;
}
