import { ServiceIdentifier } from '../../../../platform/instantiation/common/instantiation.js';
import { MarkdownString } from '../../../../base/common/htmlContent.js';
import { URI } from '../../../../base/common/uri.js';
import { ILinkDescriptor } from '../../../../platform/opener/browser/link.js';
import { ThemeIcon } from '../../../../base/common/themables.js';

interface IBannerItem {
    readonly id: string;
    readonly icon: ThemeIcon | URI | undefined;
    readonly message: string | MarkdownString;
    readonly actions?: ILinkDescriptor[];
    readonly ariaLabel?: string;
    readonly onClose?: () => void;
    readonly closeLabel?: string;
}
declare const IBannerService: ServiceIdentifier<IBannerService>;
interface IBannerService {
    readonly _serviceBrand: undefined;
    focus(): void;
    focusNextAction(): void;
    focusPreviousAction(): void;
    hide(id: string): void;
    show(item: IBannerItem): void;
}

export { type IBannerItem, IBannerService };
