import { ZuiDUnit } from '@material-zui/core';
export declare type ZuiStorageType = 'memory' | 'localStorage' | 'session' | 'cookie';
export declare type ZuiStorageDataType = 'json' | 'string' | 'boolean' | 'number' | 'date';
export interface ZuiStorageCookie {
    key: string;
    value: string;
    time?: number;
    path?: string;
}
export interface ZuiStorageSet<T = any> {
    key: string;
    value: T;
    autoGenerateKey?: boolean;
    type?: ZuiStorageType;
    dataType?: ZuiStorageDataType;
    time?: ZuiDUnit;
}
export declare type ZuiStorageSetInput<T = any> = {
    value: T;
} & Partial<ZuiStorageSet<T>>;
export interface ZuiStorageInstanceGet {
    dataType?: ZuiStorageDataType;
}
export interface ZuiStorageGet extends ZuiStorageInstanceGet {
    key: string;
    type?: ZuiStorageType;
}
export interface ZuiStorageHas {
    key: string;
    type?: ZuiStorageType;
}
