export declare class GxIdeStartPage { #private; el: HTMLGxIdeStartPageElement; /** * The kbs after the filter value. */ filteredKbs: RecentKBData[]; kbFilterValue: string; kbFilterValueChanged(newKbFilterValue: string): void; /** * True if the start page is waiting, either for the kb's list or the secondary section. */ loading: boolean; /** * Callback invoked to create a new KB. It must be specified whether this create is create from server or not, through the parameter 'fromServer'. */ readonly createKBCallback: (fromServer: boolean) => Promise; /** * A temporary property to hide the "Open Existing Project" card. */ readonly hideOpenExistingProject: boolean; /** * User's kbs array */ readonly kbs: RecentKBData[]; kbsChanged(newKbs: RecentKBData[]): void; /** * The minimum required of kbs to display a filter. */ readonly kbsFilterThreshold: number; /** * Callback invoked to open a KB when the user clicks on a KB card. */ readonly openKbCallback: (id: string) => Promise; /** * Callback invoked when the user clicks a button to open a sample. */ readonly openSampleCallback: (sampleId: string) => Promise; /** * List of samples available to be displayed in the samples card. */ readonly samples?: SampleData[]; /** * The secondary section that will appear below the "Create a new Knowledge Base" main section. This section will be displayed if there are no recent kbs. */ readonly secondarySection?: SecondarySection; componentWillLoad(): Promise; render(): any; } export type CardInfo = { icon?: { src: string; ariaLabel: string; }; title: string; description: string[]; action?: { iconSrc: string; caption: string; callback?: () => void; }; }; export type RecentKBData = { id?: string; name: string; lastOpenedDate?: Date; icon: string; path?: string; }; export type SampleData = { id: string; name: string; }; export type SecondarySection = { title: string; cards: CardInfo[]; };