import { HasDateFn, NameAnd } from "@focuson/utils";
import { CommonStateProps, DropDownOnChangeProps, LabelAlignment } from "./common";
import { HasButtons } from "./makeButtons";
import { HasPathToLens, HasSimpleMessageL, PageSelectionContext } from "@focuson/pages";
import { HasCloseOnePage, HasRestCommandL } from "@focuson/rest";
export interface DropdownProps<S, T, Context> extends CommonStateProps<S, T, Context>, DropDownOnChangeProps<S, Context>, HasButtons {
    enums: NameAnd<string | undefined>;
    validationmessage?: string;
    readonly?: boolean;
    pleaseSelect?: string;
    size?: number;
    enabledBy?: string[][];
    required?: boolean;
}
export type ContextForDropdown<S> = PageSelectionContext<S> & HasRestCommandL<S> & HasSimpleMessageL<S> & HasPathToLens<S> & HasDateFn & HasCloseOnePage<S, any>;
export interface LabelAndDropdownProps<S, T, Context> extends DropdownProps<S, T, Context>, LabelAlignment {
    label: string;
}
export declare function LabelAndDropdown<S, T, Context extends ContextForDropdown<S>>(props: LabelAndDropdownProps<S, T, Context>): import("react/jsx-runtime").JSX.Element;
export declare function Dropdown<S, T, Context extends ContextForDropdown<S>>(props: DropdownProps<S, T, Context>): import("react/jsx-runtime").JSX.Element;
