import React, { ReactNode } from "react";
import { OptionProps } from "react-select";
export interface GroupedOptionsInterface {
    options: Array<SelectOptionInterface>;
    label: string;
}
export type SelectOptionProps = OptionProps<OptionPropsInterface, false, GroupOptionPropsInterface>;
interface SelectButtonInterface {
    elementId: string;
    options?: Array<SelectOptionInterface> | Array<GroupedOptionsInterface>;
    addTitle: boolean;
    renderTitle: (title: string) => void;
    defaultValue?: string | undefined | null;
    width?: number;
    dropdownTitle?: string;
    optionProps?: (props: SelectOptionProps) => ReactNode;
    isAdditionalButton?: boolean;
}
export interface SelectOptionInterface {
    optId?: string;
    groupLabel?: string;
    name?: string;
    shortLabel?: string;
    label: string;
    onChange: () => void;
}
export interface OptionPropsInterface extends SelectOptionInterface {
    value: number;
}
export interface GroupOptionPropsInterface {
    label: string;
    options: OptionPropsInterface[];
}
interface SelectButtonState {
    selectedOption: OptionPropsInterface;
}
export declare class SelectButton extends React.Component<SelectButtonInterface, SelectButtonState> {
    private static readonly BUTTON_CONTAINER_DIV_SUFFIX;
    private defaultValue;
    private currentOption;
    readonly state: SelectButtonState;
    constructor(props: SelectButtonInterface);
    private change;
    componentDidUpdate(prevProps: Readonly<SelectButtonInterface>, prevState: Readonly<SelectButtonState>): void;
    componentDidMount(): void;
    render(): ReactNode;
    private selectRender;
    private selectButtonRender;
    private innerSelectButtonRender;
    private configStyle;
    private getSelectOpt;
    private renderTitle;
}
export {};
