import { LabJsonContent, WithContent } from 'itlab-functions';
export type Form<TItem extends object, TDto extends Partial<TItem>> = {
    isDisabled: boolean;
    isReady: boolean;
    dto: TDto;
    hasChanges: boolean;
    set: (item: TItem) => void;
    reset: () => void;
    disable: () => void;
    enable: () => void;
};
export type OptionalContentForm = Form<any, Partial<WithContent<LabJsonContent>>>;
export type ContentForm = Form<any, WithContent<LabJsonContent>>;
export declare function useForm<TItem extends object, TDto extends Partial<TItem>>(initialize: () => TDto, initialyDisabled?: boolean): Form<TItem, TDto>;
