import { IMainLayoutService } from '@opensumi/ide-main-layout';
import { IIconService } from '@opensumi/ide-theme';
import { VSCodeContributePoint } from '../../../common';
import { AbstractExtInstanceManagementService } from '../../types';
export type KtViewLocation = 'left' | 'right' | 'bottom' | 'editor' | 'toolBar';
export type KtViewsContribution = {
    [key in KtViewLocation]: {
        type: string;
        view: KtViewItem[];
    };
};
export interface KtViewItem {
    id: string;
    when: string;
    title: string;
    icon?: string;
    iconPath?: string;
    priority?: number;
    noResize?: boolean;
    hideTab?: boolean;
    expanded?: boolean;
    weight?: number;
    titleComponentId?: string;
}
export type KtViewsSchema = Array<KtViewsContribution>;
export declare class BrowserViewContributionPoint extends VSCodeContributePoint<KtViewsContribution> {
    mainLayoutService: IMainLayoutService;
    iconService: IIconService;
    protected readonly extensionManageService: AbstractExtInstanceManagementService;
    static schema: {
        description: string;
        type: string;
        properties: {
            left: {
                description: string;
                type: string;
                required: string[];
                defaultSnippets: {
                    label: string;
                    bodyText: string;
                }[];
                properties: {
                    type: {
                        type: string;
                        enum: string[];
                    };
                    view: {
                        type: string;
                        items: {
                            type: string;
                            required: string[];
                            defaultSnippets: {
                                label: string;
                                description: string;
                                bodyText: string;
                            }[];
                            properties: {
                                id: {
                                    type: string;
                                    description: string;
                                };
                                icon: {
                                    type: string;
                                    markdownDescription: string;
                                };
                                iconPath: {
                                    type: string;
                                    description: string;
                                };
                                title: {
                                    type: string;
                                    description: string;
                                };
                                titleComponentId: {
                                    type: string;
                                    description: string;
                                };
                                expanded: {
                                    type: string;
                                    description: string;
                                };
                            };
                        };
                    };
                };
            };
            right: {
                description: string;
                type: string;
                required: string[];
                defaultSnippets: {
                    label: string;
                    bodyText: string;
                }[];
                properties: {
                    type: {
                        type: string;
                        enum: string[];
                    };
                    view: {
                        type: string;
                        items: {
                            type: string;
                            required: string[];
                            defaultSnippets: {
                                label: string;
                                description: string;
                                bodyText: string;
                            }[];
                            properties: {
                                id: {
                                    type: string;
                                    description: string;
                                };
                                icon: {
                                    type: string;
                                    markdownDescription: string;
                                };
                                iconPath: {
                                    type: string;
                                    description: string;
                                };
                                title: {
                                    type: string;
                                    description: string;
                                };
                                titleComponentId: {
                                    type: string;
                                    description: string;
                                };
                                expanded: {
                                    type: string;
                                    description: string;
                                };
                            };
                        };
                    };
                };
            };
            bottom: {
                description: string;
                type: string;
                required: string[];
                defaultSnippets: {
                    label: string;
                    bodyText: string;
                }[];
                properties: {
                    type: {
                        type: string;
                        enum: string[];
                    };
                    view: {
                        type: string;
                        items: {
                            type: string;
                            required: string[];
                            defaultSnippets: {
                                label: string;
                                description: string;
                                bodyText: string;
                            }[];
                            properties: {
                                id: {
                                    type: string;
                                    description: string;
                                };
                                icon: {
                                    type: string;
                                    markdownDescription: string;
                                };
                                iconPath: {
                                    type: string;
                                    description: string;
                                };
                                title: {
                                    type: string;
                                    description: string;
                                };
                                titleComponentId: {
                                    type: string;
                                    description: string;
                                };
                                expanded: {
                                    type: string;
                                    description: string;
                                };
                            };
                        };
                    };
                };
            };
        };
    };
    private disposableCollection;
    static unsupportLocation: string[];
    contribute(): Promise<void>;
}
//# sourceMappingURL=browser-views.d.ts.map