import { BaseTabComponent } from '../components/baseTab.component'; import { NewTabParameters } from '../services/tabs.service'; export interface Profile { id: string; type: string; name: string; group?: string; options: any; icon?: string; color?: string; disableDynamicTitle: boolean; behaviorOnSessionEnd: 'auto' | 'keep' | 'reconnect' | 'close'; weight: number; isBuiltin: boolean; isTemplate: boolean; } export interface ConnectableProfile extends Profile { clearServiceMessagesOnConnect: boolean; } export type PartialProfile = Omit, 'type'>, 'name'> & { type: string; name: string; options?: { [K in keyof T['options']]?: T['options'][K]; }; }; export interface ProfileGroup { id: string; name: string; profiles: PartialProfile[]; defaults: any; editable: boolean; } export type PartialProfileGroup = Omit, 'name'> & { id: string; name: string; }; export interface ProfileSettingsComponent

{ profile: P; save?: () => void; } export declare abstract class ProfileProvider

{ id: string; name: string; settingsComponent?: new (...args: any[]) => ProfileSettingsComponent

; configDefaults: {}; abstract getBuiltinProfiles(): Promise[]>; abstract getNewTabParameters(profile: P): Promise>; getSuggestedName(profile: PartialProfile

): string | null; abstract getDescription(profile: PartialProfile

): string; deleteProfile(profile: P): void; } export declare abstract class ConnectableProfileProvider

extends ProfileProvider

{ } export declare abstract class QuickConnectProfileProvider

extends ConnectableProfileProvider

{ abstract quickConnect(query: string): PartialProfile

| null; abstract intoQuickConnectString(profile: P): string | null; }