import { default as React } from 'react';
import { SelectProps } from './Select.component';
type StoryFunction = () => JSX.Element;
declare const _default: {
    title: string;
    component: React.FC<SelectProps>;
    argTypes: {
        variant: {
            options: string[];
            control: {
                type: string;
            };
        };
        errortext: {
            control: boolean;
        };
        helptext: {
            control: boolean;
        };
        successtext: {
            control: boolean;
        };
        children: {
            control: boolean;
        };
    };
    decorators: ((story: StoryFunction) => React.JSX.Element)[];
};
export default _default;
export declare const Default: {
    render: ({ children, ...args }: {
        children: React.ReactNode;
        args: React.JSX.IntrinsicAttributes & SelectProps;
    }) => React.JSX.Element;
    args: {
        children: React.JSX.Element[];
    };
};
export declare const Primary: {
    render: ({ children, ...args }: {
        children: React.ReactNode;
        args: React.JSX.IntrinsicAttributes & SelectProps;
    }) => React.JSX.Element;
    args: {
        variant: string;
        children: React.JSX.Element[];
    };
};
export declare const PrimaryDanger: {
    render: ({ children, ...args }: {
        children: React.ReactNode;
        args: React.JSX.IntrinsicAttributes & SelectProps;
    }) => React.JSX.Element;
    args: {
        variant: string;
        children: React.JSX.Element[];
    };
};
export declare const Subdued: {
    render: ({ children, ...args }: {
        children: React.ReactNode;
        args: React.JSX.IntrinsicAttributes & SelectProps;
    }) => React.JSX.Element;
    args: {
        variant: string;
        children: React.JSX.Element[];
    };
};
export declare const WithPlaceholder: {
    render: ({ children, ...args }: {
        children: React.ReactNode;
        args: React.JSX.IntrinsicAttributes & SelectProps;
    }) => React.JSX.Element;
    args: {
        placeholder: string;
        children: React.JSX.Element[];
    };
};
export declare const WithLabel: {
    render: ({ children, ...args }: {
        children: React.ReactNode;
        args: React.JSX.IntrinsicAttributes & SelectProps;
    }) => React.JSX.Element;
    args: {
        label: string;
        children: React.JSX.Element[];
    };
};
export declare const RequiredWithLabel: {
    render: ({ children, ...args }: {
        children: React.ReactNode;
        args: React.JSX.IntrinsicAttributes & SelectProps;
    }) => React.JSX.Element;
    args: {
        label: string;
        required: boolean;
        children: React.JSX.Element[];
    };
};
export declare const Disabled: {
    render: ({ children, ...args }: {
        children: React.ReactNode;
        args: React.JSX.IntrinsicAttributes & SelectProps;
    }) => React.JSX.Element;
    args: {
        disabled: boolean;
        children: React.JSX.Element[];
    };
};
export declare const DisabledOption: {
    render: ({ children, ...args }: {
        children: React.ReactNode;
        args: React.JSX.IntrinsicAttributes & SelectProps;
    }) => React.JSX.Element;
    args: {
        helptext: string;
        children: React.JSX.Element[];
    };
};
export declare const Valid: {
    render: ({ children, ...args }: {
        children: React.ReactNode;
        args: React.JSX.IntrinsicAttributes & SelectProps;
    }) => React.JSX.Element;
    args: {
        valid: boolean;
        children: React.JSX.Element[];
    };
};
export declare const Invalid: {
    render: ({ children, ...args }: {
        children: React.ReactNode;
        args: React.JSX.IntrinsicAttributes & SelectProps;
    }) => React.JSX.Element;
    args: {
        invalid: boolean;
        children: React.JSX.Element[];
    };
};
export declare const WithHelptext: {
    render: ({ children, ...args }: {
        children: React.ReactNode;
        args: React.JSX.IntrinsicAttributes & SelectProps;
    }) => React.JSX.Element;
    args: {
        helptext: string;
        children: React.JSX.Element[];
    };
};
export declare const WithHelptextAsNode: {
    render: ({ children, ...args }: {
        children: React.ReactNode;
        args: React.JSX.IntrinsicAttributes & SelectProps;
    }) => React.JSX.Element;
    args: {
        helptext: React.JSX.Element;
        children: React.JSX.Element[];
    };
};
export declare const WithErrortext: {
    render: ({ children, ...args }: {
        children: React.ReactNode;
        args: React.JSX.IntrinsicAttributes & SelectProps;
    }) => React.JSX.Element;
    args: {
        errortext: string;
        children: React.JSX.Element[];
    };
};
export declare const WithSuccesstext: {
    render: ({ children, ...args }: {
        children: React.ReactNode;
        args: React.JSX.IntrinsicAttributes & SelectProps;
    }) => React.JSX.Element;
    args: {
        successtext: string;
        children: React.JSX.Element[];
    };
};
export declare const Error: {
    render: ({ children, ...args }: {
        children: React.ReactNode;
        args: React.JSX.IntrinsicAttributes & SelectProps;
    }) => React.JSX.Element;
    args: {
        error: boolean;
        children: React.JSX.Element[];
    };
};
export declare const Loading: {
    render: ({ children, ...args }: {
        children: React.ReactNode;
        args: React.JSX.IntrinsicAttributes & SelectProps;
    }) => React.JSX.Element;
    args: {
        loading: boolean;
        children: React.JSX.Element[];
    };
};
export declare const ManyOptions: {
    render: ({ children, ...args }: {
        children: React.ReactNode;
        args: React.JSX.IntrinsicAttributes & SelectProps;
    }) => React.JSX.Element;
    args: {
        children: React.JSX.Element[];
    };
};
export declare const EmptyOption: {
    render: ({ children, ...args }: {
        children: React.ReactNode;
        args: React.JSX.IntrinsicAttributes & SelectProps;
    }) => React.JSX.Element;
    args: {
        children: React.JSX.Element[];
    };
};
export declare const OptionsWithLabels: {
    render: ({ children, ...args }: {
        children: React.ReactNode;
        args: React.JSX.IntrinsicAttributes & SelectProps;
    }) => React.JSX.Element;
    args: {
        placeholder: string;
        children: React.JSX.Element[];
    };
    parameters: {
        docs: {
            description: {
                story: string;
            };
        };
    };
};
export declare const UncontrolledSelectWithDefaultValue: {
    render: ({ children, ...args }: {
        children: React.ReactNode;
        args: React.JSX.IntrinsicAttributes & SelectProps;
    }) => React.JSX.Element;
    args: {
        defaultValue: string;
        children: React.JSX.Element[];
    };
};
export declare const ControlledSelect: {
    render: ({ value, children, ...args }: React.JSX.IntrinsicAttributes & SelectProps) => React.JSX.Element;
    args: {
        value: string;
        children: React.JSX.Element[];
    };
};
/**
 * If you used the Select as a controlled component (by passing the `value` prop) and if your SelectOptions
 * have labels, then you'll have to pass the `valueLabel` of the selected option as well.
 * */
export declare const ControlledSelectWithOptionLabels: {
    render: ({ value, children, ...args }: React.JSX.IntrinsicAttributes & SelectProps) => React.JSX.Element;
    args: {
        value: string;
        valueLabel: string;
        children: React.JSX.Element[];
    };
};
export declare const UncontrolledSelect: {
    render: ({ children, ...args }: {
        children: React.ReactNode;
        args: React.JSX.IntrinsicAttributes & SelectProps;
    }) => React.JSX.Element;
    args: {
        defaultValue: string;
        children: React.JSX.Element[];
    };
};
/**
 * Similar to the controlled Select, if you used the Select as an uncontrolled component (by passing the `defaultValue` prop) and if your SelectOptions
 * have labels, then you'll have to pass the `valueLabel` of the selected option as well.
 */
export declare const UncontrolledSelectWithOptionLabels: {
    render: ({ children, ...args }: {
        children: React.ReactNode;
        args: React.JSX.IntrinsicAttributes & SelectProps;
    }) => React.JSX.Element;
    args: {
        defaultValue: string;
        valueLabel: string;
        children: React.JSX.Element[];
    };
};
export declare const TruncatedOptions: {
    render: ({ children, ...args }: SelectProps) => React.JSX.Element;
    args: {
        truncateOptions: boolean;
        children: React.JSX.Element[];
    };
};
export declare const NonTruncatedOptions: {
    render: ({ children, ...args }: SelectProps) => React.JSX.Element;
    args: {
        children: React.JSX.Element[];
    };
};
/**
 * As an alernative to using a `value`-prop, strings as children can be passed. Though we don't recommend this approach
 * as it will likely be deprecated or changed in the future.
 * */
export declare const WithChildrenOnly: {
    render: ({ children, ...args }: {
        children: React.ReactNode;
        args: React.JSX.IntrinsicAttributes & SelectProps;
    }) => React.JSX.Element;
    args: {
        children: React.JSX.Element[];
    };
};
export declare const MultiSelect: {
    render: ({ children, ...args }: {
        children: React.ReactNode;
        args: React.JSX.IntrinsicAttributes & SelectProps;
    }) => React.JSX.Element;
    args: {
        multiple: boolean;
        children: React.JSX.Element[];
    };
};
export declare const MultiSelectWithValue: {
    render: ({ value, children, ...args }: React.JSX.IntrinsicAttributes & SelectProps) => React.JSX.Element;
    args: {
        multiple: boolean;
        value: string[];
        children: React.JSX.Element[];
    };
};
export declare const MultiSelectWithOptionValuesAndLabels: {
    render: ({ value, children, ...args }: React.JSX.IntrinsicAttributes & SelectProps) => React.JSX.Element;
    args: {
        multiple: boolean;
        placeholder: string;
        children: React.JSX.Element[];
    };
};
export declare const BottomPositionedSelect: {
    render: ({ parentStyles, children, ...args }: {
        parentStyles: React.CSSProperties;
        children: React.ReactNode;
        args: any;
    }) => React.JSX.Element;
    args: {
        parentStyles: {
            position: string;
            bottom: string;
        };
        children: React.JSX.Element[];
    };
};
//# sourceMappingURL=Select.stories.d.ts.map