import * as React from "react";
interface IPseudoEvent {
    currentTarget: {
        name: string;
        value: boolean;
    };
}
interface IChildrenProps {
    api: {
        getOn: SwitcherController["getOn"];
        setOn: SwitcherController["setOn"];
        resetOn: SwitcherController["resetOn"];
        toggleOn: SwitcherController["toggleOn"];
    };
}
export interface ISwitcherProps {
    onChange: (pseudoEvent?: IPseudoEvent) => void;
    children: (childrenProps: IChildrenProps) => React.ReactNode;
    name: string;
    defaultOn?: boolean;
}
interface IDefaultProps {
    defaultOn: boolean;
}
declare type SwitcherWithDefaultProps = ISwitcherProps & IDefaultProps;
interface ISwitcherState {
    on: boolean;
}
export declare class SwitcherController extends React.Component<ISwitcherProps, ISwitcherState> {
    static defaultProps: IDefaultProps;
    getProps: () => SwitcherWithDefaultProps;
    state: ISwitcherState;
    getOn: () => boolean;
    setOn: (on: boolean) => void;
    resetOn: () => void;
    toggleOn: () => void;
    render(): React.ReactNode;
}
export {};
