import { ExtractPropTypes, PropType, Component } from 'vue'; export type FinderItemStatus = 'default' | 'success' | 'warning' | 'danger'; export interface FinderItemData { key: string | number; label: string; status?: FinderItemStatus; disabled?: boolean; [k: string]: any; } export interface FinderSelection { levelKey: string; key: string | number; item: FinderItemData; } export interface FinderColumnResult { key?: string; title: string; items: FinderItemData[]; showAdd?: boolean; editable?: boolean; deletable?: boolean; filterable?: boolean; width?: number; component?: Component; } export interface FinderLevel { key: string; title: string; width?: number; showAdd?: boolean; editable?: boolean; deletable?: boolean; component?: Component; filterable?: boolean; load: (parentKey: string | number | null) => FinderItemData[] | Promise; } export declare const finderProps: { readonly levels: { readonly type: PropType; readonly default: () => never[]; }; readonly load: { readonly type: PropType<(item: FinderItemData | null, selections: FinderSelection[]) => FinderColumnResult | null | Promise>; readonly default: undefined; }; readonly height: { readonly type: StringConstructor; readonly default: "100%"; }; readonly gap: { readonly type: NumberConstructor; readonly default: 6; }; readonly collapsible: { readonly type: BooleanConstructor; readonly default: true; }; readonly resizable: { readonly type: BooleanConstructor; readonly default: true; }; readonly minWidth: { readonly type: NumberConstructor; readonly default: 150; }; readonly maxWidth: { readonly type: NumberConstructor; readonly default: 500; }; readonly detailWidth: { readonly type: PropType; readonly default: 360; }; }; export declare const finderEmits: { readonly select: (levelKey: string, item: FinderItemData) => boolean; readonly add: (levelKey: string) => boolean; readonly edit: (levelKey: string, item: FinderItemData) => boolean; readonly delete: (levelKey: string, item: FinderItemData) => boolean; }; export declare const finderColumnProps: { readonly title: { readonly type: StringConstructor; readonly default: ""; }; readonly collapsible: { readonly type: BooleanConstructor; readonly default: true; }; readonly collapsed: { readonly type: BooleanConstructor; readonly default: false; }; readonly resizable: { readonly type: BooleanConstructor; readonly default: true; }; readonly width: { readonly type: NumberConstructor; readonly default: 260; }; readonly minWidth: { readonly type: NumberConstructor; readonly default: 150; }; readonly maxWidth: { readonly type: NumberConstructor; readonly default: 500; }; readonly showAdd: { readonly type: BooleanConstructor; readonly default: false; }; readonly loading: { readonly type: BooleanConstructor; readonly default: false; }; readonly filterable: { readonly type: BooleanConstructor; readonly default: false; }; readonly filterPlaceholder: { readonly type: StringConstructor; readonly default: "Search..."; }; }; export declare const finderColumnEmits: { readonly 'update:collapsed': (value: boolean) => boolean; readonly 'update:width': (value: number) => boolean; readonly add: () => boolean; }; export declare const finderItemProps: { readonly active: { readonly type: BooleanConstructor; readonly default: false; }; readonly disabled: { readonly type: BooleanConstructor; readonly default: false; }; readonly status: { readonly type: PropType; readonly default: undefined; }; readonly editable: { readonly type: BooleanConstructor; readonly default: false; }; readonly deletable: { readonly type: BooleanConstructor; readonly default: false; }; }; export declare const finderItemEmits: { readonly click: () => boolean; readonly edit: () => boolean; readonly delete: () => boolean; }; export type FinderProps = ExtractPropTypes; export type FinderColumnProps = ExtractPropTypes; export type FinderItemProps = ExtractPropTypes;