/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/
import { Disposable } from "../../../../base/common/lifecycle.mjs";
import { ITerminalCapabilityImplMap, ITerminalCapabilityStore, TerminalCapability } from "./capabilities.mjs";
export declare class TerminalCapabilityStore extends Disposable implements ITerminalCapabilityStore {
    private _map;
    private readonly _onDidRemoveCapability;
    readonly onDidRemoveCapability: import("../../../../base/common/event.mjs").Event<TerminalCapability>;
    private readonly _onDidAddCapability;
    readonly onDidAddCapability: import("../../../../base/common/event.mjs").Event<TerminalCapability>;
    get items(): IterableIterator<TerminalCapability>;
    add<T extends TerminalCapability>(capability: T, impl: ITerminalCapabilityImplMap[T]): void;
    get<T extends TerminalCapability>(capability: T): ITerminalCapabilityImplMap[T] | undefined;
    remove(capability: TerminalCapability): void;
    has(capability: TerminalCapability): boolean;
}
export declare class TerminalCapabilityStoreMultiplexer extends Disposable implements ITerminalCapabilityStore {
    readonly _stores: ITerminalCapabilityStore[];
    private readonly _onDidRemoveCapability;
    readonly onDidRemoveCapability: import("../../../../base/common/event.mjs").Event<TerminalCapability>;
    private readonly _onDidAddCapability;
    readonly onDidAddCapability: import("../../../../base/common/event.mjs").Event<TerminalCapability>;
    get items(): IterableIterator<TerminalCapability>;
    private _items;
    has(capability: TerminalCapability): boolean;
    get<T extends TerminalCapability>(capability: T): ITerminalCapabilityImplMap[T] | undefined;
    add(store: ITerminalCapabilityStore): void;
}
