import { ZuiDDateTime } from '@material-zui/core';
export declare type IInputVal = boolean | string;
export interface IValidatorField {
    required: string;
    maxlength: string;
    minlength: string;
    max: string;
    min: string;
    pattern: string;
    email: string;
}
export declare type IValidatorMessage = Partial<IValidatorField>;
export declare type IAlign = 'left' | 'center' | 'right';
export declare type IAutoComplete = 'on' | 'off' | 'new-password';
export declare type SearchFunc = (searchTerm: string) => Promise<any[]>;
export declare type Items = any[] | SearchFunc;
export interface IDataChange<T1 = any, T2 = any> {
    selectedValue: T1[];
    selectedItems: T2[];
}
export declare type ZUIButtonType = 'basic' | 'raised' | 'stroked' | 'flat' | 'link' | 'icon' | 'icon-fab' | 'icon-mini-fab';
export declare type ZUIButtonColor = 'basic' | 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark';
export declare type ZUIDateView = 'month' | 'year' | 'multi-year';
export interface ZUIDTPDateRange {
    start: ZuiDDateTime;
    end: ZuiDDateTime;
}
export interface ZUIDateRange {
    start: Date;
    end: Date;
}
export declare type ZUIDate<T> = T extends 'daterange' ? ZUIDTPDateRange : ZuiDDateTime;
export declare type ZUIDTPValueChange<T = 'datetime'> = (zuiDateTime: ZUIDate<T>) => void;
export declare type ZUIDTPFilterFunc = (zuiDateTime: ZuiDDateTime) => boolean;
export declare type ZUIDTPDateClassFunc = (zuiDateTime: ZuiDDateTime, view: ZUIDateView) => string;
export interface ZUIDTPAction {
    label: string;
    action?: () => void;
    status?: 'cancel' | 'apply';
    type?: ZUIButtonType;
    color?: ZUIButtonColor;
}
export declare type ZValidatorOutput = string | boolean;
