import type { GCheckboxProps } from '../GCheckbox'; import type { DefineComponent, ExtractPropTypes, ComponentOptionsMixin, PublicProps, ComponentProvideOptions, PropType as __PropType } from 'vue'; import { type Component } from 'vue'; interface TableRow { id?: string | number; checked?: boolean; _tableIndex?: number; rowOptions?: Record; [key: string]: unknown; } interface TableHeader { key?: string; label?: string; hidden?: boolean; sortable?: boolean; sortDirection?: 'asc' | 'desc' | null; sortKey?: string; formattedValue?: (value: unknown) => string; headerOptions?: Record; rowOptions?: Record; } export interface GTableProps { checkboxComponent?: Component; paginationComponent?: Component; data?: TableRow[]; headers?: TableHeader[] | null; selectable?: boolean; hideSortIcons?: boolean; defaultThOptions?: Record | null; defaultTrOptions?: Record | null; localSort?: boolean; paginate?: boolean; perPage?: number; paginationProps?: Record; } export type GTableExposed = HTMLTableElement & { /** Reference to the table element */ table: HTMLTableElement | undefined; /** Current page number */ currentPage: number; /** Current sort configuration */ currentSort: { key: string; order: string; }; /** Whether all rows are checked */ allChecked: boolean; /** Array of selected rows */ selectedRows: TableRow[]; /** Currently displayed data (after filtering/sorting/pagination) */ displayData: TableRow[]; /** Currently displayed headers */ displayHeaders: (TableHeader | string)[]; /** Change the sorting of the table */ changeSorting: (header: TableHeader) => void; /** Check and validate current sorting */ checkSorting: () => void; }; declare const _sfc_main: DefineComponent; required: false; default: () => DefineComponent string) | null | undefined>; required: false; default: null; }; labelPosition: { type: __PropType; required: false; default: string; }; hideLabel: { type: __PropType; required: false; default: boolean; }; id: { type: __PropType; required: false; default: null; }; checked: { type: __PropType; required: false; default: boolean; }; modelValue: { type: __PropType; required: false; default: boolean; }; value: { type: __PropType; required: false; default: () => string; }; disabled: { type: __PropType; required: false; default: boolean; }; readonly: { type: __PropType; required: false; default: boolean; }; error: { type: __PropType; required: false; default: boolean; }; checkedIcon: { type: __PropType; required: false; default: () => string; }; indeterminate: { type: __PropType; required: false; default: boolean; }; }>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, ("change" | "refMounted" | "update:el" | "update:checked" | "update:modelValue" | "updated")[], "change" | "refMounted" | "update:el" | "update:checked" | "update:modelValue" | "updated", PublicProps, Readonly string) | null | undefined>; required: false; default: null; }; labelPosition: { type: __PropType; required: false; default: string; }; hideLabel: { type: __PropType; required: false; default: boolean; }; id: { type: __PropType; required: false; default: null; }; checked: { type: __PropType; required: false; default: boolean; }; modelValue: { type: __PropType; required: false; default: boolean; }; value: { type: __PropType; required: false; default: () => string; }; disabled: { type: __PropType; required: false; default: boolean; }; readonly: { type: __PropType; required: false; default: boolean; }; error: { type: __PropType; required: false; default: boolean; }; checkedIcon: { type: __PropType; required: false; default: () => string; }; indeterminate: { type: __PropType; required: false; default: boolean; }; }>> & Readonly<{ onRefMounted?: ((...args: any[]) => any) | undefined; "onUpdate:el"?: ((...args: any[]) => any) | undefined; onChange?: ((...args: any[]) => any) | undefined; "onUpdate:checked"?: ((...args: any[]) => any) | undefined; "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined; onUpdated?: ((...args: any[]) => any) | undefined; }>, { error: boolean | undefined; id: string | null | undefined; label: string | ((props: GCheckboxProps) => string) | null | undefined; disabled: boolean | undefined; labelPosition: string | undefined; hideLabel: boolean | undefined; checked: boolean | (string | number | boolean)[] | undefined; modelValue: boolean | (string | number | boolean)[] | undefined; value: string | number | boolean | undefined; readonly: boolean | undefined; checkedIcon: string | Component | undefined; indeterminate: boolean | undefined; }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>; }; paginationComponent: { type: __PropType; required: false; default: () => DefineComponent; required: false; default: boolean; }; modelValue: { type: __PropType; required: false; default: number; }; forcePage: { type: __PropType; required: false; default: undefined; }; clickHandler: { type: __PropType<((page: number) => void) | undefined>; required: false; default: () => void; }; pageRange: { type: __PropType; required: false; default: number; }; marginPages: { type: __PropType; required: false; default: number; }; prevButtonText: { type: __PropType; required: false; default: string; }; nextButtonText: { type: __PropType; required: false; default: string; }; breakViewText: { type: __PropType; required: false; default: string; }; containerClass: { type: __PropType; required: false; default: undefined; }; pageClass: { type: __PropType; required: false; default: undefined; }; pageLinkClass: { type: __PropType; required: false; default: undefined; }; prevClass: { type: __PropType; required: false; default: string; }; prevButtonClass: { type: __PropType; required: false; default: string; }; nextClass: { type: __PropType; required: false; default: string; }; nextButtonClass: { type: __PropType; required: false; default: string; }; breakViewClass: { type: __PropType; required: false; default: undefined; }; breakViewLinkClass: { type: __PropType; required: false; default: undefined; }; activeClass: { type: __PropType; required: false; default: string; }; disabledClass: { type: __PropType; required: false; default: string; }; showFirstLastButtons: { type: __PropType; required: false; default: boolean; }; firstButtonText: { type: __PropType; required: false; default: string; }; lastButtonText: { type: __PropType; required: false; default: string; }; hidePrevNextButtons: { type: __PropType; required: false; default: boolean; }; totalItems: { type: __PropType; required: true; }; perPage: { type: __PropType; required: false; default: number; }; alwaysShow: { type: __PropType; required: false; default: boolean; }; }>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, ("refMounted" | "update:el" | "update:modelValue" | "pageChanged")[], "refMounted" | "update:el" | "update:modelValue" | "pageChanged", PublicProps, Readonly; required: false; default: boolean; }; modelValue: { type: __PropType; required: false; default: number; }; forcePage: { type: __PropType; required: false; default: undefined; }; clickHandler: { type: __PropType<((page: number) => void) | undefined>; required: false; default: () => void; }; pageRange: { type: __PropType; required: false; default: number; }; marginPages: { type: __PropType; required: false; default: number; }; prevButtonText: { type: __PropType; required: false; default: string; }; nextButtonText: { type: __PropType; required: false; default: string; }; breakViewText: { type: __PropType; required: false; default: string; }; containerClass: { type: __PropType; required: false; default: undefined; }; pageClass: { type: __PropType; required: false; default: undefined; }; pageLinkClass: { type: __PropType; required: false; default: undefined; }; prevClass: { type: __PropType; required: false; default: string; }; prevButtonClass: { type: __PropType; required: false; default: string; }; nextClass: { type: __PropType; required: false; default: string; }; nextButtonClass: { type: __PropType; required: false; default: string; }; breakViewClass: { type: __PropType; required: false; default: undefined; }; breakViewLinkClass: { type: __PropType; required: false; default: undefined; }; activeClass: { type: __PropType; required: false; default: string; }; disabledClass: { type: __PropType; required: false; default: string; }; showFirstLastButtons: { type: __PropType; required: false; default: boolean; }; firstButtonText: { type: __PropType; required: false; default: string; }; lastButtonText: { type: __PropType; required: false; default: string; }; hidePrevNextButtons: { type: __PropType; required: false; default: boolean; }; totalItems: { type: __PropType; required: true; }; perPage: { type: __PropType; required: false; default: number; }; alwaysShow: { type: __PropType; required: false; default: boolean; }; }>> & Readonly<{ onRefMounted?: ((...args: any[]) => any) | undefined; "onUpdate:el"?: ((...args: any[]) => any) | undefined; "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined; onPageChanged?: ((...args: any[]) => any) | undefined; }>, { disabled: boolean | undefined; modelValue: number | undefined; forcePage: number | undefined; clickHandler: ((page: number) => void) | undefined; pageRange: number | undefined; marginPages: number | undefined; prevButtonText: string | undefined; nextButtonText: string | undefined; breakViewText: string | undefined; containerClass: string | undefined; pageClass: string | undefined; pageLinkClass: string | undefined; prevClass: string | undefined; prevButtonClass: string | undefined; nextClass: string | undefined; nextButtonClass: string | undefined; breakViewClass: string | undefined; breakViewLinkClass: string | undefined; activeClass: string | undefined; disabledClass: string | undefined; showFirstLastButtons: boolean | undefined; firstButtonText: string | undefined; lastButtonText: string | undefined; hidePrevNextButtons: boolean | undefined; perPage: number | undefined; alwaysShow: boolean | undefined; }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>; }; data: { type: __PropType; required: false; default: () => never[]; }; headers: { type: __PropType; required: false; default: null; }; selectable: { type: __PropType; required: false; default: boolean; }; hideSortIcons: { type: __PropType; required: false; default: boolean; }; defaultThOptions: { type: __PropType | null | undefined>; required: false; default: null; }; defaultTrOptions: { type: __PropType | null | undefined>; required: false; default: null; }; localSort: { type: __PropType; required: false; default: boolean; }; paginate: { type: __PropType; required: false; default: boolean; }; perPage: { type: __PropType; required: false; default: number; }; paginationProps: { type: __PropType | undefined>; required: false; default: undefined; }; }>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, ("refMounted" | "update:el" | "update:selectedRows" | "rowClicked" | "sortClicked")[], "refMounted" | "update:el" | "update:selectedRows" | "rowClicked" | "sortClicked", PublicProps, Readonly; required: false; default: () => DefineComponent string) | null | undefined>; required: false; default: null; }; labelPosition: { type: __PropType; required: false; default: string; }; hideLabel: { type: __PropType; required: false; default: boolean; }; id: { type: __PropType; required: false; default: null; }; checked: { type: __PropType; required: false; default: boolean; }; modelValue: { type: __PropType; required: false; default: boolean; }; value: { type: __PropType; required: false; default: () => string; }; disabled: { type: __PropType; required: false; default: boolean; }; readonly: { type: __PropType; required: false; default: boolean; }; error: { type: __PropType; required: false; default: boolean; }; checkedIcon: { type: __PropType; required: false; default: () => string; }; indeterminate: { type: __PropType; required: false; default: boolean; }; }>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, ("change" | "refMounted" | "update:el" | "update:checked" | "update:modelValue" | "updated")[], "change" | "refMounted" | "update:el" | "update:checked" | "update:modelValue" | "updated", PublicProps, Readonly string) | null | undefined>; required: false; default: null; }; labelPosition: { type: __PropType; required: false; default: string; }; hideLabel: { type: __PropType; required: false; default: boolean; }; id: { type: __PropType; required: false; default: null; }; checked: { type: __PropType; required: false; default: boolean; }; modelValue: { type: __PropType; required: false; default: boolean; }; value: { type: __PropType; required: false; default: () => string; }; disabled: { type: __PropType; required: false; default: boolean; }; readonly: { type: __PropType; required: false; default: boolean; }; error: { type: __PropType; required: false; default: boolean; }; checkedIcon: { type: __PropType; required: false; default: () => string; }; indeterminate: { type: __PropType; required: false; default: boolean; }; }>> & Readonly<{ onRefMounted?: ((...args: any[]) => any) | undefined; "onUpdate:el"?: ((...args: any[]) => any) | undefined; onChange?: ((...args: any[]) => any) | undefined; "onUpdate:checked"?: ((...args: any[]) => any) | undefined; "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined; onUpdated?: ((...args: any[]) => any) | undefined; }>, { error: boolean | undefined; id: string | null | undefined; label: string | ((props: GCheckboxProps) => string) | null | undefined; disabled: boolean | undefined; labelPosition: string | undefined; hideLabel: boolean | undefined; checked: boolean | (string | number | boolean)[] | undefined; modelValue: boolean | (string | number | boolean)[] | undefined; value: string | number | boolean | undefined; readonly: boolean | undefined; checkedIcon: string | Component | undefined; indeterminate: boolean | undefined; }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>; }; paginationComponent: { type: __PropType; required: false; default: () => DefineComponent; required: false; default: boolean; }; modelValue: { type: __PropType; required: false; default: number; }; forcePage: { type: __PropType; required: false; default: undefined; }; clickHandler: { type: __PropType<((page: number) => void) | undefined>; required: false; default: () => void; }; pageRange: { type: __PropType; required: false; default: number; }; marginPages: { type: __PropType; required: false; default: number; }; prevButtonText: { type: __PropType; required: false; default: string; }; nextButtonText: { type: __PropType; required: false; default: string; }; breakViewText: { type: __PropType; required: false; default: string; }; containerClass: { type: __PropType; required: false; default: undefined; }; pageClass: { type: __PropType; required: false; default: undefined; }; pageLinkClass: { type: __PropType; required: false; default: undefined; }; prevClass: { type: __PropType; required: false; default: string; }; prevButtonClass: { type: __PropType; required: false; default: string; }; nextClass: { type: __PropType; required: false; default: string; }; nextButtonClass: { type: __PropType; required: false; default: string; }; breakViewClass: { type: __PropType; required: false; default: undefined; }; breakViewLinkClass: { type: __PropType; required: false; default: undefined; }; activeClass: { type: __PropType; required: false; default: string; }; disabledClass: { type: __PropType; required: false; default: string; }; showFirstLastButtons: { type: __PropType; required: false; default: boolean; }; firstButtonText: { type: __PropType; required: false; default: string; }; lastButtonText: { type: __PropType; required: false; default: string; }; hidePrevNextButtons: { type: __PropType; required: false; default: boolean; }; totalItems: { type: __PropType; required: true; }; perPage: { type: __PropType; required: false; default: number; }; alwaysShow: { type: __PropType; required: false; default: boolean; }; }>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, ("refMounted" | "update:el" | "update:modelValue" | "pageChanged")[], "refMounted" | "update:el" | "update:modelValue" | "pageChanged", PublicProps, Readonly; required: false; default: boolean; }; modelValue: { type: __PropType; required: false; default: number; }; forcePage: { type: __PropType; required: false; default: undefined; }; clickHandler: { type: __PropType<((page: number) => void) | undefined>; required: false; default: () => void; }; pageRange: { type: __PropType; required: false; default: number; }; marginPages: { type: __PropType; required: false; default: number; }; prevButtonText: { type: __PropType; required: false; default: string; }; nextButtonText: { type: __PropType; required: false; default: string; }; breakViewText: { type: __PropType; required: false; default: string; }; containerClass: { type: __PropType; required: false; default: undefined; }; pageClass: { type: __PropType; required: false; default: undefined; }; pageLinkClass: { type: __PropType; required: false; default: undefined; }; prevClass: { type: __PropType; required: false; default: string; }; prevButtonClass: { type: __PropType; required: false; default: string; }; nextClass: { type: __PropType; required: false; default: string; }; nextButtonClass: { type: __PropType; required: false; default: string; }; breakViewClass: { type: __PropType; required: false; default: undefined; }; breakViewLinkClass: { type: __PropType; required: false; default: undefined; }; activeClass: { type: __PropType; required: false; default: string; }; disabledClass: { type: __PropType; required: false; default: string; }; showFirstLastButtons: { type: __PropType; required: false; default: boolean; }; firstButtonText: { type: __PropType; required: false; default: string; }; lastButtonText: { type: __PropType; required: false; default: string; }; hidePrevNextButtons: { type: __PropType; required: false; default: boolean; }; totalItems: { type: __PropType; required: true; }; perPage: { type: __PropType; required: false; default: number; }; alwaysShow: { type: __PropType; required: false; default: boolean; }; }>> & Readonly<{ onRefMounted?: ((...args: any[]) => any) | undefined; "onUpdate:el"?: ((...args: any[]) => any) | undefined; "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined; onPageChanged?: ((...args: any[]) => any) | undefined; }>, { disabled: boolean | undefined; modelValue: number | undefined; forcePage: number | undefined; clickHandler: ((page: number) => void) | undefined; pageRange: number | undefined; marginPages: number | undefined; prevButtonText: string | undefined; nextButtonText: string | undefined; breakViewText: string | undefined; containerClass: string | undefined; pageClass: string | undefined; pageLinkClass: string | undefined; prevClass: string | undefined; prevButtonClass: string | undefined; nextClass: string | undefined; nextButtonClass: string | undefined; breakViewClass: string | undefined; breakViewLinkClass: string | undefined; activeClass: string | undefined; disabledClass: string | undefined; showFirstLastButtons: boolean | undefined; firstButtonText: string | undefined; lastButtonText: string | undefined; hidePrevNextButtons: boolean | undefined; perPage: number | undefined; alwaysShow: boolean | undefined; }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>; }; data: { type: __PropType; required: false; default: () => never[]; }; headers: { type: __PropType; required: false; default: null; }; selectable: { type: __PropType; required: false; default: boolean; }; hideSortIcons: { type: __PropType; required: false; default: boolean; }; defaultThOptions: { type: __PropType | null | undefined>; required: false; default: null; }; defaultTrOptions: { type: __PropType | null | undefined>; required: false; default: null; }; localSort: { type: __PropType; required: false; default: boolean; }; paginate: { type: __PropType; required: false; default: boolean; }; perPage: { type: __PropType; required: false; default: number; }; paginationProps: { type: __PropType | undefined>; required: false; default: undefined; }; }>> & Readonly<{ onRefMounted?: ((...args: any[]) => any) | undefined; "onUpdate:el"?: ((...args: any[]) => any) | undefined; "onUpdate:selectedRows"?: ((...args: any[]) => any) | undefined; onRowClicked?: ((...args: any[]) => any) | undefined; onSortClicked?: ((...args: any[]) => any) | undefined; }>, { checkboxComponent: Component | undefined; data: TableRow[] | undefined; perPage: number | undefined; paginationComponent: Component | undefined; headers: TableHeader[] | null | undefined; selectable: boolean | undefined; hideSortIcons: boolean | undefined; defaultThOptions: Record | null | undefined; defaultTrOptions: Record | null | undefined; localSort: boolean | undefined; paginate: boolean | undefined; paginationProps: Record | undefined; }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>; export default _sfc_main;