import type { Schema } from 'type-fest';
import type { EntityProblems } from '../../core/models/errors/entity-problems';
import type { FormModel } from '../../core/models/form';
import type { SummaryItem } from './summaryItem';
import type { TrackNavigationProps } from '../../utils/trackNavigation';
export type SummaryOf<T> = Partial<Schema<T, string | SummaryItem>>;
export interface Omitted {
    keys?: string[];
    forms?: string[];
    summaryEditButton?: string[];
}
export interface SummaryProps<Schema extends object> {
    trackNavigation?: (props: TrackNavigationProps) => void;
    data: SummaryOf<Schema>;
    omitted?: Omitted;
    forms: FormModel[];
    labels?: any;
    gotoForm?(nextFormIndex: number): void;
    problems?: EntityProblems;
    showFormHeader?: boolean;
    showSectionHeader?: boolean;
    showLegalCaption?: boolean;
    showTaxExemptedLegalCaption?: boolean;
}
