import { SelectItem } from '../../basic';
export type SwitchFieldLabels = {
    trueLabel: string;
    falseLabel: string;
    notAvailable: string;
};
/** Renders switch (boolean) values for read-only display — no ternary chains. */
export declare function formatSwitchFieldValue(value: unknown, labels: SwitchFieldLabels): string;
export type DisplayFunction = (value: any) => string;
export type MaskFunction = (value: string, isBlur?: boolean) => string;
export type AppFormField = {
    attr: string;
    name: string;
    title?: string;
    type: string;
    required?: boolean;
    disabled?: boolean;
    options?: SelectItem[];
    tooltip?: boolean;
    tooltipText?: string;
    infoText?: string;
    multiple?: boolean;
    freeSolo?: boolean;
    minQueryLength?: number;
    default?: string | boolean | number;
    role?: string;
    fn?: (value: any) => string | number;
    translation?: string;
    mask?: MaskFunction;
    blurMask?: MaskFunction;
    pattern?: string;
    rows?: number;
    size?: 'medium' | 'small';
    display?: DisplayFunction;
    copyToClipboard?: boolean;
    truncate?: number;
    allowEmpty?: boolean;
    /** Flex-grow weight when sharing a row with adjacent flex fields. Omit for full-width. */
    flexGrow?: number;
    /** Optional flex-basis (default: 0 for even ratio distribution). */
    flexBasis?: number | string;
    /** Force a new row before this field (even if it has flexGrow). */
    breakBefore?: boolean;
};
