import { ComponentBase } from '../ComponentBase';
import { RunConfig } from '../../DomRender';
import { OtherData } from '../../lifecycle/OnChangeAttrRender';
import { OnCreateRenderDataParams } from '../../lifecycle/OnCreateRenderData';
export declare namespace Choose {
    export const selector = "dr-choose";
    export type Attribute<D> = {
        data: D;
    };
    export type WhenAttribute<D> = {
        test: (data?: D | null) => boolean;
    };
    class ChildOtherWiseBase<A> extends ComponentBase<A> {
        hidden: boolean;
    }
    class ChildBase<D> extends ChildOtherWiseBase<WhenAttribute<D>> {
        data?: D;
    }
    export class When<D> extends ChildBase<D> {
        constructor();
    }
    export class OtherWise<D> extends ChildBase<D> {
        constructor();
    }
    export class Choose<D> extends ComponentBase<Attribute<D>> {
        private choose?;
        onCreatedThisChild(child: any, data: OnCreateRenderDataParams): void;
        onChangeAttrRender(name: string, value: any, other: OtherData): void;
        private setChange;
    }
    export {};
}
declare const _default: {
    chooseWhen: (config?: RunConfig) => import("../../configs/TargetElement").TargetElement;
    chooseOtherWise: (config?: RunConfig) => import("../../configs/TargetElement").TargetElement;
    choose: (config?: RunConfig) => import("../../configs/TargetElement").TargetElement;
};
export default _default;
//# sourceMappingURL=Choose.d.ts.map