export declare class FormPiece {
    protected _formState: string;
    protected _visibleForced: boolean;
    protected _isForced: boolean;
    protected _absoluteVisible: boolean;
    protected _absoluteDisabled: boolean;
    protected _widget: any;
    protected visibleStates: string[];
    protected enabledStates: string[];
    _form: any;
    _formConfig: any;
    _visible: boolean;
    _disabled: boolean;
    customAttributes: any;
    constructor(pieceDefinition: any, formConfig: any);
    getCustomAttribute(name: string): any;
    setCustomAttribute(name: string, value: any): void;
    setCustomAttributes(attributes: any): FormPiece;
    matchAttribute(name: string, value: string): boolean;
    setVisibleStates(newStates: any): void;
    addVisibleState(state: string): void;
    removeVisibleState(state: string): void;
    setEnabledStates(newStates: any): void;
    addEnabledState(state: string): void;
    removeEnabledState(state: string): void;
    viewOnState(state: string): boolean;
    enabledOnState(state: string): boolean;
    get absoluteVisible(): boolean;
    get absoluteDisabled(): boolean;
    get visible(): boolean;
    set visible(visible: boolean);
    visibleOn(state: string): boolean;
    enabledOn(state: string): boolean;
    setVisibility(visible: boolean, forced?: boolean | null): void;
    show(forced?: boolean | null): void;
    hide(forced?: boolean | null): void;
    get enabled(): boolean;
    set enabled(enabled: boolean);
    get editable(): boolean;
    get disabled(): boolean;
    set disabled(disabled: boolean);
    enable(): void;
    disable(): void;
    formStateChangeCustomSubscribe(form: any, formChangeSubject: any): void;
    formStateChange(state: any): void;
    connectWithParentForm(form: any, formChangeSubject: any): void;
    set widget(widget: any);
    get widget(): any;
}
