import type { ReactNode, FunctionComponent } from 'react';
import type { BaseProps, ExcludeStrict, ForwardProps, NoChildrenProp, TestIdProp } from '../../types';
export type FieldValueVariant = 'inline' | 'stacked';
interface BaseFieldValueListItem extends TestIdProp {
    name: string;
    id?: string;
    variant?: FieldValueVariant;
}
export type FieldValueListItemProps = (BaseFieldValueListItem & {
    value?: ExcludeStrict<ReactNode, 'string'>;
    truncate?: never;
}) | (BaseFieldValueListItem & {
    value: string;
    truncate?: boolean;
});
export interface FieldValueListProps extends BaseProps, NoChildrenProp, TestIdProp {
    /** The set of field values to render in the list. */
    fields: FieldValueListItemProps[];
    /**
     * Determines if the field and values should be displayed on the same line, or stacked with the field above the value.
     * @default 'inline'
     */
    variant?: FieldValueVariant | 'value-comparison';
}
export declare const StyledFieldName: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLElement>, HTMLElement>, never>> & string;
export declare const StyledFieldValue: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLElement>, HTMLElement>, never>> & string;
/**
 * `display: contents` wrapper around a `dt + dd` pair in the inline
 * variant. Lets CSS grid on the parent `<dl>` still see dt/dd as direct
 * layout items, while giving UI Designer / Inspector a single hit
 * target that covers label + value together. Exposed so that callers
 * which previously targeted `dt:not(:last-of-type)` / `dd:not(:last-of-type)`
 * can target the row instead.
 */
export declare const StyledInlineFieldValueRow: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
export declare const StyledStackedFieldValue: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
export type StyledFieldValueListProps = Pick<FieldValueListProps, 'variant'>;
export declare const StyledFieldValueList: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDListElement>, HTMLDListElement>, StyledFieldValueListProps>> & string;
export declare const FieldValueItem: (({ testId, name, value, variant, truncate }: FieldValueListItemProps) => import("react/jsx-runtime").JSX.Element) & {
    getTestIds: (testIdProp?: TestIdProp["testId"]) => import("../../types").TestIdsRecord<readonly ["name", "value"]>;
};
declare const _default: FunctionComponent<FieldValueListProps & ForwardProps> & {
    getTestIds: (testIdProp?: TestIdProp["testId"]) => import("../../types").TestIdsRecord<readonly []>;
};
export default _default;
//# sourceMappingURL=FieldValueList.d.ts.map