import { type CsvDelimiterPreset, type CsvDelimiterValidationError } from "@gooddata/sdk-model";
/**
 * @internal
 */
export interface ICsvDelimiterPickerValue {
    selectedPreset: CsvDelimiterPreset;
    customDelimiter: string;
}
/**
 * @internal
 */
export interface ICsvDelimiterPickerProps {
    /** Current picker state — use `getCsvDelimiterState` from `@gooddata/sdk-model` to initialize. */
    value: ICsvDelimiterPickerValue;
    /** Called when the user changes the preset or custom delimiter value. */
    onChange: (value: ICsvDelimiterPickerValue) => void;
    /** Validation error to display below the custom input. */
    validationError?: CsvDelimiterValidationError;
    /** If provided, renders a label above the dropdown. */
    label?: string;
    /** Called when Enter is pressed in the custom input. */
    onEnterKeyPress?: () => void;
    /**
     * Layout direction for the dropdown and custom input.
     * - `"column"` (default): dropdown takes full width, custom input stacks below.
     * - `"row"`: dropdown auto-sizes, custom input sits beside it.
     */
    layout?: "row" | "column";
}
/**
 * Reusable CSV delimiter preset picker with dropdown, custom input, and validation.
 *
 * This is a controlled component — the consumer manages state via
 * `getCsvDelimiterState` from `@gooddata/sdk-model` and passes it through props.
 *
 * @internal
 */
export declare function CsvDelimiterPicker({ value, onChange, validationError, label, onEnterKeyPress, layout }: ICsvDelimiterPickerProps): import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=CsvDelimiterPicker.d.ts.map