import React, { ElementType, Ref } from 'react';
import { Props } from '../../types';
declare let DEFAULT_GROUP_TAG: React.ExoticComponent<{
    children?: React.ReactNode;
}>;
declare function Group<TTag extends ElementType = typeof DEFAULT_GROUP_TAG>(props: Props<TTag>): JSX.Element;
interface SwitchRenderPropArg {
    checked: boolean;
}
declare type SwitchPropsWeControl = 'id' | 'role' | 'tabIndex' | 'aria-checked' | 'aria-labelledby' | 'aria-describedby' | 'onClick' | 'onKeyUp' | 'onKeyPress';
export declare let Switch: (<TTag extends React.ElementType<any> = "button">(props: (Pick<import("../../types").PropsOf<TTag>, Exclude<keyof import("../../types").PropsOf<TTag>, "id" | "children" | "className" | "as" | "refName">> & {
    as?: TTag | undefined;
    children?: string | number | boolean | {} | React.ReactElement<any, string | ((props: any) => React.ReactElement<any, any> | null) | (new (props: any) => React.Component<any, any, any>)> | Iterable<React.ReactNode> | React.ReactPortal | ((bag: SwitchRenderPropArg) => React.ReactElement<any, string | ((props: any) => React.ReactElement<any, any> | null) | (new (props: any) => React.Component<any, any, any>)>) | null | undefined;
    refName?: string | undefined;
} & (true extends (import("../../types").PropsOf<TTag> extends never ? never : "className" extends keyof import("../../types").PropsOf<TTag> ? true : never) ? {
    className?: import("../../types").PropsOf<TTag>["className"] | ((bag: SwitchRenderPropArg) => string) | undefined;
} : {}) & {
    checked?: boolean | undefined;
    defaultChecked?: boolean | undefined;
    onChange?(checked: boolean): void;
    name?: string | undefined;
    value?: string | undefined;
}) | (Pick<import("../../types").PropsOf<TTag>, Exclude<keyof import("../../types").PropsOf<TTag>, "value" | "children" | "className" | "as" | "refName">> & {
    as?: TTag | undefined;
    children?: string | number | boolean | {} | React.ReactElement<any, string | ((props: any) => React.ReactElement<any, any> | null) | (new (props: any) => React.Component<any, any, any>)> | Iterable<React.ReactNode> | React.ReactPortal | ((bag: SwitchRenderPropArg) => React.ReactElement<any, string | ((props: any) => React.ReactElement<any, any> | null) | (new (props: any) => React.Component<any, any, any>)>) | null | undefined;
    refName?: string | undefined;
} & (true extends (import("../../types").PropsOf<TTag> extends never ? never : "className" extends keyof import("../../types").PropsOf<TTag> ? true : never) ? {
    className?: import("../../types").PropsOf<TTag>["className"] | ((bag: SwitchRenderPropArg) => string) | undefined;
} : {}) & {
    checked?: boolean | undefined;
    defaultChecked?: boolean | undefined;
    onChange?(checked: boolean): void;
    name?: string | undefined;
    value?: string | undefined;
}) | (Pick<import("../../types").PropsOf<TTag>, Exclude<keyof import("../../types").PropsOf<TTag>, "children" | "className" | "name" | "as" | "refName">> & {
    as?: TTag | undefined;
    children?: string | number | boolean | {} | React.ReactElement<any, string | ((props: any) => React.ReactElement<any, any> | null) | (new (props: any) => React.Component<any, any, any>)> | Iterable<React.ReactNode> | React.ReactPortal | ((bag: SwitchRenderPropArg) => React.ReactElement<any, string | ((props: any) => React.ReactElement<any, any> | null) | (new (props: any) => React.Component<any, any, any>)>) | null | undefined;
    refName?: string | undefined;
} & (true extends (import("../../types").PropsOf<TTag> extends never ? never : "className" extends keyof import("../../types").PropsOf<TTag> ? true : never) ? {
    className?: import("../../types").PropsOf<TTag>["className"] | ((bag: SwitchRenderPropArg) => string) | undefined;
} : {}) & {
    checked?: boolean | undefined;
    defaultChecked?: boolean | undefined;
    onChange?(checked: boolean): void;
    name?: string | undefined;
    value?: string | undefined;
}) | (Pick<import("../../types").PropsOf<TTag>, Exclude<keyof import("../../types").PropsOf<TTag>, "children" | "className" | "role" | "as" | "refName">> & {
    as?: TTag | undefined;
    children?: string | number | boolean | {} | React.ReactElement<any, string | ((props: any) => React.ReactElement<any, any> | null) | (new (props: any) => React.Component<any, any, any>)> | Iterable<React.ReactNode> | React.ReactPortal | ((bag: SwitchRenderPropArg) => React.ReactElement<any, string | ((props: any) => React.ReactElement<any, any> | null) | (new (props: any) => React.Component<any, any, any>)>) | null | undefined;
    refName?: string | undefined;
} & (true extends (import("../../types").PropsOf<TTag> extends never ? never : "className" extends keyof import("../../types").PropsOf<TTag> ? true : never) ? {
    className?: import("../../types").PropsOf<TTag>["className"] | ((bag: SwitchRenderPropArg) => string) | undefined;
} : {}) & {
    checked?: boolean | undefined;
    defaultChecked?: boolean | undefined;
    onChange?(checked: boolean): void;
    name?: string | undefined;
    value?: string | undefined;
}) | (Pick<import("../../types").PropsOf<TTag>, Exclude<keyof import("../../types").PropsOf<TTag>, "children" | "className" | "tabIndex" | "as" | "refName">> & {
    as?: TTag | undefined;
    children?: string | number | boolean | {} | React.ReactElement<any, string | ((props: any) => React.ReactElement<any, any> | null) | (new (props: any) => React.Component<any, any, any>)> | Iterable<React.ReactNode> | React.ReactPortal | ((bag: SwitchRenderPropArg) => React.ReactElement<any, string | ((props: any) => React.ReactElement<any, any> | null) | (new (props: any) => React.Component<any, any, any>)>) | null | undefined;
    refName?: string | undefined;
} & (true extends (import("../../types").PropsOf<TTag> extends never ? never : "className" extends keyof import("../../types").PropsOf<TTag> ? true : never) ? {
    className?: import("../../types").PropsOf<TTag>["className"] | ((bag: SwitchRenderPropArg) => string) | undefined;
} : {}) & {
    checked?: boolean | undefined;
    defaultChecked?: boolean | undefined;
    onChange?(checked: boolean): void;
    name?: string | undefined;
    value?: string | undefined;
}) | (Pick<import("../../types").PropsOf<TTag>, Exclude<keyof import("../../types").PropsOf<TTag>, "children" | "className" | "aria-checked" | "as" | "refName">> & {
    as?: TTag | undefined;
    children?: string | number | boolean | {} | React.ReactElement<any, string | ((props: any) => React.ReactElement<any, any> | null) | (new (props: any) => React.Component<any, any, any>)> | Iterable<React.ReactNode> | React.ReactPortal | ((bag: SwitchRenderPropArg) => React.ReactElement<any, string | ((props: any) => React.ReactElement<any, any> | null) | (new (props: any) => React.Component<any, any, any>)>) | null | undefined;
    refName?: string | undefined;
} & (true extends (import("../../types").PropsOf<TTag> extends never ? never : "className" extends keyof import("../../types").PropsOf<TTag> ? true : never) ? {
    className?: import("../../types").PropsOf<TTag>["className"] | ((bag: SwitchRenderPropArg) => string) | undefined;
} : {}) & {
    checked?: boolean | undefined;
    defaultChecked?: boolean | undefined;
    onChange?(checked: boolean): void;
    name?: string | undefined;
    value?: string | undefined;
}) | (Pick<import("../../types").PropsOf<TTag>, Exclude<keyof import("../../types").PropsOf<TTag>, "children" | "className" | "aria-describedby" | "as" | "refName">> & {
    as?: TTag | undefined;
    children?: string | number | boolean | {} | React.ReactElement<any, string | ((props: any) => React.ReactElement<any, any> | null) | (new (props: any) => React.Component<any, any, any>)> | Iterable<React.ReactNode> | React.ReactPortal | ((bag: SwitchRenderPropArg) => React.ReactElement<any, string | ((props: any) => React.ReactElement<any, any> | null) | (new (props: any) => React.Component<any, any, any>)>) | null | undefined;
    refName?: string | undefined;
} & (true extends (import("../../types").PropsOf<TTag> extends never ? never : "className" extends keyof import("../../types").PropsOf<TTag> ? true : never) ? {
    className?: import("../../types").PropsOf<TTag>["className"] | ((bag: SwitchRenderPropArg) => string) | undefined;
} : {}) & {
    checked?: boolean | undefined;
    defaultChecked?: boolean | undefined;
    onChange?(checked: boolean): void;
    name?: string | undefined;
    value?: string | undefined;
}) | (Pick<import("../../types").PropsOf<TTag>, Exclude<keyof import("../../types").PropsOf<TTag>, "children" | "className" | "aria-labelledby" | "as" | "refName">> & {
    as?: TTag | undefined;
    children?: string | number | boolean | {} | React.ReactElement<any, string | ((props: any) => React.ReactElement<any, any> | null) | (new (props: any) => React.Component<any, any, any>)> | Iterable<React.ReactNode> | React.ReactPortal | ((bag: SwitchRenderPropArg) => React.ReactElement<any, string | ((props: any) => React.ReactElement<any, any> | null) | (new (props: any) => React.Component<any, any, any>)>) | null | undefined;
    refName?: string | undefined;
} & (true extends (import("../../types").PropsOf<TTag> extends never ? never : "className" extends keyof import("../../types").PropsOf<TTag> ? true : never) ? {
    className?: import("../../types").PropsOf<TTag>["className"] | ((bag: SwitchRenderPropArg) => string) | undefined;
} : {}) & {
    checked?: boolean | undefined;
    defaultChecked?: boolean | undefined;
    onChange?(checked: boolean): void;
    name?: string | undefined;
    value?: string | undefined;
}) | (Pick<import("../../types").PropsOf<TTag>, Exclude<keyof import("../../types").PropsOf<TTag>, "children" | "className" | "onChange" | "as" | "refName">> & {
    as?: TTag | undefined;
    children?: string | number | boolean | {} | React.ReactElement<any, string | ((props: any) => React.ReactElement<any, any> | null) | (new (props: any) => React.Component<any, any, any>)> | Iterable<React.ReactNode> | React.ReactPortal | ((bag: SwitchRenderPropArg) => React.ReactElement<any, string | ((props: any) => React.ReactElement<any, any> | null) | (new (props: any) => React.Component<any, any, any>)>) | null | undefined;
    refName?: string | undefined;
} & (true extends (import("../../types").PropsOf<TTag> extends never ? never : "className" extends keyof import("../../types").PropsOf<TTag> ? true : never) ? {
    className?: import("../../types").PropsOf<TTag>["className"] | ((bag: SwitchRenderPropArg) => string) | undefined;
} : {}) & {
    checked?: boolean | undefined;
    defaultChecked?: boolean | undefined;
    onChange?(checked: boolean): void;
    name?: string | undefined;
    value?: string | undefined;
}) | (Pick<import("../../types").PropsOf<TTag>, Exclude<keyof import("../../types").PropsOf<TTag>, "children" | "className" | "onKeyPress" | "as" | "refName">> & {
    as?: TTag | undefined;
    children?: string | number | boolean | {} | React.ReactElement<any, string | ((props: any) => React.ReactElement<any, any> | null) | (new (props: any) => React.Component<any, any, any>)> | Iterable<React.ReactNode> | React.ReactPortal | ((bag: SwitchRenderPropArg) => React.ReactElement<any, string | ((props: any) => React.ReactElement<any, any> | null) | (new (props: any) => React.Component<any, any, any>)>) | null | undefined;
    refName?: string | undefined;
} & (true extends (import("../../types").PropsOf<TTag> extends never ? never : "className" extends keyof import("../../types").PropsOf<TTag> ? true : never) ? {
    className?: import("../../types").PropsOf<TTag>["className"] | ((bag: SwitchRenderPropArg) => string) | undefined;
} : {}) & {
    checked?: boolean | undefined;
    defaultChecked?: boolean | undefined;
    onChange?(checked: boolean): void;
    name?: string | undefined;
    value?: string | undefined;
}) | (Pick<import("../../types").PropsOf<TTag>, Exclude<keyof import("../../types").PropsOf<TTag>, "children" | "className" | "onKeyUp" | "as" | "refName">> & {
    as?: TTag | undefined;
    children?: string | number | boolean | {} | React.ReactElement<any, string | ((props: any) => React.ReactElement<any, any> | null) | (new (props: any) => React.Component<any, any, any>)> | Iterable<React.ReactNode> | React.ReactPortal | ((bag: SwitchRenderPropArg) => React.ReactElement<any, string | ((props: any) => React.ReactElement<any, any> | null) | (new (props: any) => React.Component<any, any, any>)>) | null | undefined;
    refName?: string | undefined;
} & (true extends (import("../../types").PropsOf<TTag> extends never ? never : "className" extends keyof import("../../types").PropsOf<TTag> ? true : never) ? {
    className?: import("../../types").PropsOf<TTag>["className"] | ((bag: SwitchRenderPropArg) => string) | undefined;
} : {}) & {
    checked?: boolean | undefined;
    defaultChecked?: boolean | undefined;
    onChange?(checked: boolean): void;
    name?: string | undefined;
    value?: string | undefined;
}) | (Pick<import("../../types").PropsOf<TTag>, Exclude<keyof import("../../types").PropsOf<TTag>, "children" | "className" | "onClick" | "as" | "refName">> & {
    as?: TTag | undefined;
    children?: string | number | boolean | {} | React.ReactElement<any, string | ((props: any) => React.ReactElement<any, any> | null) | (new (props: any) => React.Component<any, any, any>)> | Iterable<React.ReactNode> | React.ReactPortal | ((bag: SwitchRenderPropArg) => React.ReactElement<any, string | ((props: any) => React.ReactElement<any, any> | null) | (new (props: any) => React.Component<any, any, any>)>) | null | undefined;
    refName?: string | undefined;
} & (true extends (import("../../types").PropsOf<TTag> extends never ? never : "className" extends keyof import("../../types").PropsOf<TTag> ? true : never) ? {
    className?: import("../../types").PropsOf<TTag>["className"] | ((bag: SwitchRenderPropArg) => string) | undefined;
} : {}) & {
    checked?: boolean | undefined;
    defaultChecked?: boolean | undefined;
    onChange?(checked: boolean): void;
    name?: string | undefined;
    value?: string | undefined;
}) | (Pick<import("../../types").PropsOf<TTag>, Exclude<keyof import("../../types").PropsOf<TTag>, "children" | "className" | "as" | "refName" | "defaultChecked">> & {
    as?: TTag | undefined;
    children?: string | number | boolean | {} | React.ReactElement<any, string | ((props: any) => React.ReactElement<any, any> | null) | (new (props: any) => React.Component<any, any, any>)> | Iterable<React.ReactNode> | React.ReactPortal | ((bag: SwitchRenderPropArg) => React.ReactElement<any, string | ((props: any) => React.ReactElement<any, any> | null) | (new (props: any) => React.Component<any, any, any>)>) | null | undefined;
    refName?: string | undefined;
} & (true extends (import("../../types").PropsOf<TTag> extends never ? never : "className" extends keyof import("../../types").PropsOf<TTag> ? true : never) ? {
    className?: import("../../types").PropsOf<TTag>["className"] | ((bag: SwitchRenderPropArg) => string) | undefined;
} : {}) & {
    checked?: boolean | undefined;
    defaultChecked?: boolean | undefined;
    onChange?(checked: boolean): void;
    name?: string | undefined;
    value?: string | undefined;
}) | (Pick<import("../../types").PropsOf<TTag>, Exclude<keyof import("../../types").PropsOf<TTag>, "children" | "className" | "as" | "refName" | "checked">> & {
    as?: TTag | undefined;
    children?: string | number | boolean | {} | React.ReactElement<any, string | ((props: any) => React.ReactElement<any, any> | null) | (new (props: any) => React.Component<any, any, any>)> | Iterable<React.ReactNode> | React.ReactPortal | ((bag: SwitchRenderPropArg) => React.ReactElement<any, string | ((props: any) => React.ReactElement<any, any> | null) | (new (props: any) => React.Component<any, any, any>)>) | null | undefined;
    refName?: string | undefined;
} & (true extends (import("../../types").PropsOf<TTag> extends never ? never : "className" extends keyof import("../../types").PropsOf<TTag> ? true : never) ? {
    className?: import("../../types").PropsOf<TTag>["className"] | ((bag: SwitchRenderPropArg) => string) | undefined;
} : {}) & {
    checked?: boolean | undefined;
    defaultChecked?: boolean | undefined;
    onChange?(checked: boolean): void;
    name?: string | undefined;
    value?: string | undefined;
}), ref: Ref<HTMLElement>) => JSX.Element) & {
    displayName: string;
} & {
    Group: typeof Group;
    Label: (<TTag_1 extends React.ElementType<any> = "label">(props: Pick<import("../../types").PropsOf<TTag_1>, Exclude<keyof import("../../types").PropsOf<TTag_1>, "id" | "children" | "className" | "as" | "refName">> & {
        as?: TTag_1 | undefined;
        children?: string | number | boolean | {} | React.ReactElement<any, string | ((props: any) => React.ReactElement<any, any> | null) | (new (props: any) => React.Component<any, any, any>)> | Iterable<React.ReactNode> | React.ReactPortal | ((bag: {}) => React.ReactElement<any, string | ((props: any) => React.ReactElement<any, any> | null) | (new (props: any) => React.Component<any, any, any>)>) | null | undefined;
        refName?: string | undefined;
    } & (true extends (import("../../types").PropsOf<TTag_1> extends never ? never : "className" extends keyof import("../../types").PropsOf<TTag_1> ? true : never) ? {
        className?: import("../../types").PropsOf<TTag_1>["className"] | ((bag: {}) => string) | undefined;
    } : {}) & {
        passive?: boolean | undefined;
    }, ref: React.Ref<HTMLLabelElement>) => React.ReactElement<any, string | ((props: any) => React.ReactElement<any, any> | null) | (new (props: any) => React.Component<any, any, any>)> | null) & {
        displayName: string;
    };
    Description: (<TTag_2 extends React.ElementType<any> = "p">(props: Props<TTag_2, {}, "id">, ref: React.Ref<HTMLParagraphElement>) => React.ReactElement<any, string | ((props: any) => React.ReactElement<any, any> | null) | (new (props: any) => React.Component<any, any, any>)> | null) & {
        displayName: string;
    };
};
export {};
