import { PropType } from 'vue';
import { ManipulateType } from 'dayjs';
export interface DateOperate {
    type: 'add' | 'minus';
    value: number;
    mode: ManipulateType;
}
export interface LimitOperate {
    value: number;
    mode: ManipulateType;
}
export interface JumpTimeOperate {
    value: number;
    suffix: 'hours' | 'minute' | 'seconds';
}
interface Event {
    on: string;
    target: string;
    emit: string;
}
export declare type Events = Event[];
export declare type RequestMethod = 'get' | 'post' | 'put' | 'delete' | 'head';
export interface RequestParam {
    key: string;
    value: any;
}
export declare type RequestParams = RequestParam[];
export interface Props {
    id: string;
    name: string;
    keyName: string;
    type: string;
    width: string;
    height: string;
    position: string;
    top: string;
    left: string;
    zIndex: number;
    rotate: string;
    isShow: boolean;
    isRender: boolean;
    events: Events;
    requestUrl: string;
    requestMethod: RequestMethod;
    requestHeaders: string;
    isOpenRequestTimer: boolean;
    isViewRedrawing: boolean;
    requestInterval: number;
    requestParams: RequestParams;
    requestSort: number;
    dataType: 'static' | 'request' | 'indicator' | 'component';
    scale?: number;
    requestParamsMode: '1' | '2';
    customRequestParams: string;
    dataSetParam?: any;
    requestType?: any;
    componentDoc?: null;
    extendData?: {
        [key: string]: any;
    };
    toolboxShow?: boolean;
    isShowIndDetail?: boolean;
    isShowTrend?: boolean;
    isShowSource?: boolean;
    indDetailIconColor?: string;
    indDetailIconFontSize?: string;
}
export declare const props: Props;
export declare const transformToComponentProps: <T extends {}>(props: T) => { [P in keyof T]: {
    type?: PropType<T[P]>;
    default?: T[P];
}; };
export interface EventsProp {
    events: Events;
}
interface DataItem {
    name: string | number;
    value: string | number;
    type?: string;
}
export declare type Data = DataItem[];
export interface KeyTypeDataFieldNames {
    name: string;
    types: {
        label: string;
        value: string;
    }[];
}
export interface ValueTypeDataFieldNames {
    name: string;
    value: string;
    type: string;
}
export {};
