import { Observable } from 'rxjs';
export interface MonkeyEcxFilterMenuChildren {
    label: string;
    getValue: Function;
    type: string;
    action: Function;
    field: string;
}
export interface MonkeyEcxFilterMenuValues {
    value: any;
    description: string;
    helperMessage?: string | number;
    infoMessage?: string | number;
}
export interface MonkeyEcxFilterMenu {
    label: string;
    value?: string;
    i18n?: string;
    values?: MonkeyEcxFilterMenuValues[];
    type: string;
    field: string;
    group: string;
    children?: MonkeyEcxFilterMenuChildren[];
    loadValues?: (args?: any) => void;
    loadMoreValues?: (args?: any) => void;
    values$?: () => Observable<MonkeyEcxFilterMenuValues | MonkeyEcxFilterMenuValues[]>;
    pagination$?: () => Observable<any>;
    control$?: () => Observable<any>;
}
export interface MonkeyEcxFilterOrder {
    value: string;
    label: string;
}
export interface MonkeyEcxFilterOrdersList {
    label: string;
    field: string;
    value?: string;
    values?: {
        value: any;
        label: string;
    }[];
}
