/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

import { IHistoryNavigationWidget } from '@sussudio/base/browser/history.mjs';
import { IContextViewProvider } from '@sussudio/base/browser/ui/contextview/contextview.mjs';
import { FindInput, IFindInputOptions } from '@sussudio/base/browser/ui/findinput/findInput.mjs';
import { IReplaceInputOptions, ReplaceInput } from '@sussudio/base/browser/ui/findinput/replaceInput.mjs';
import { HistoryInputBox, IHistoryInputOptions } from '@sussudio/base/browser/ui/inputbox/inputBox.mjs';
import { IContextKey, IContextKeyService, RawContextKey } from '../../contextkey/common/contextkey.mjs';
import { IDisposable } from '@sussudio/base/common/lifecycle.mjs';
export declare const historyNavigationVisible: RawContextKey<boolean>;
export interface IHistoryNavigationContext extends IDisposable {
	historyNavigationForwardsEnablement: IContextKey<boolean>;
	historyNavigationBackwardsEnablement: IContextKey<boolean>;
}
export declare function registerAndCreateHistoryNavigationContext(
	scopedContextKeyService: IContextKeyService,
	widget: IHistoryNavigationWidget,
): IHistoryNavigationContext;
export declare class ContextScopedHistoryInputBox extends HistoryInputBox {
	constructor(
		container: HTMLElement,
		contextViewProvider: IContextViewProvider | undefined,
		options: IHistoryInputOptions,
		contextKeyService: IContextKeyService,
	);
}
export declare class ContextScopedFindInput extends FindInput {
	constructor(
		container: HTMLElement | null,
		contextViewProvider: IContextViewProvider,
		options: IFindInputOptions,
		contextKeyService: IContextKeyService,
	);
}
export declare class ContextScopedReplaceInput extends ReplaceInput {
	constructor(
		container: HTMLElement | null,
		contextViewProvider: IContextViewProvider | undefined,
		options: IReplaceInputOptions,
		contextKeyService: IContextKeyService,
		showReplaceOptions?: boolean,
	);
}
