export type DataTableSort = {
    column: string;
    direction: 'asc' | 'desc';
};

export type DataTableFilterOption = {
    value: string;
    label: string;
};

export type DataTableFilterDef = {
    key: string;
    label: string;
    type: 'text' | 'select';
    placeholder?: string;
    options?: DataTableFilterOption[];
};

export type DataTablePagination = {
    currentPage: number;
    perPage: number;
    lastPage: number;
    total: number;
};

export type DataTablePaginationLink = {
    url: string | null;
    label: string;
    active: boolean;
};

export type DataTableQuery = {
    search?: string;
    sort?: string;
    direction?: 'asc' | 'desc';
    [key: string]: string | undefined;
};
