import { ReactNode } from "react";
import { type PresetOption } from "@ryuzaki13/react-foundation-lib/presets";
import { type SelectOptionState } from "../select";
import type { UiBaseProps } from "../types";
export interface PresetSelectProps<TOption extends PresetOption> extends UiBaseProps<TOption["id"] | undefined> {
    options: readonly TOption[];
    getOptionDisabled?: (option: TOption) => boolean;
    getOptionCode?: (option: TOption) => ReactNode;
    getOptionAriaLabel?: (option: TOption) => string;
    renderOption?: (option: TOption, state: SelectOptionState) => ReactNode;
    renderValue?: (option: TOption) => ReactNode;
    className?: string;
    buttonClassName?: string;
    optionsClassName?: string;
    clearable?: boolean;
}
/**
 * Базовый Select для пресетов с контрактом `id/label`.
 */
export declare function PresetSelect<TOption extends PresetOption>({ options, value, onChange, getOptionDisabled, getOptionCode, getOptionAriaLabel, renderOption, renderValue, className, buttonClassName, optionsClassName, clearable, ...props }: PresetSelectProps<TOption>): import("react").JSX.Element;
//# sourceMappingURL=PresetSelect.d.ts.map