import { PzTableColumn, PzTableRow } from '../PzTable';
export type PzAccordionTableRow = PzTableRow;
export interface PzAccordionTableLocalRow extends PzAccordionTableRow {
    showSubRow: boolean;
}
export type PzAccordionTableRowIdFn = (row: PzAccordionTableRow) => string;
export type PzAccordionTableRowPredicateFn = (row: PzAccordionTableRow) => boolean;
export interface PzAccordionTableCellSlotProps {
    data: PzAccordionTableLocalRow;
    column: PzTableColumn;
    value: unknown;
    expanded: boolean;
    toggle: () => void;
}
export interface PzAccordionTableSubRowSlotProps {
    data: PzAccordionTableLocalRow;
    expanded: boolean;
    toggle: () => void;
}
export interface PzAccordionTableProps {
    rowIdFn?: PzAccordionTableRowIdFn;
    defaultOpenedSubRowFn?: PzAccordionTableRowPredicateFn;
    visibleToggleBtnFn?: PzAccordionTableRowPredicateFn;
    fields: PzTableColumn[];
    data: PzAccordionTableRow[];
    defaultValue?: string;
    visibleHeader?: boolean;
}
