import type { ExplorerUseCase, SyncFilter, QueryField } from '../composables/use-explorer-tab';
import type { ExplorerRecordType } from '@/api/netsuite-explorer';
import { type FdoRule } from '@feedmepos/custom-attributes';
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
    activeUseCase?: ExplorerUseCase | undefined;
    netsuiteIdInput?: string | undefined;
    lookupRecordType?: ExplorerRecordType | undefined;
    lookupRecordTypeOptions?: {
        value: string;
        label: string;
    }[] | undefined;
    queryField?: QueryField | undefined;
    dateRange?: {
        startDate: Date;
        endDate: Date;
    } | undefined;
    syncFilter?: SyncFilter | undefined;
    filterRule?: {
        value: string | number | boolean | (string | number | boolean)[];
        type: "string" | "number" | "date";
        operator: "$eq" | "$ne" | "$gt" | "$gte" | "$lt" | "$lte" | "$in" | "$nin" | "$regex" | "$contains" | "$startsWith" | "$endsWith" | "$between";
        property: string;
    } | import("@feedmepos/custom-attributes").FdoRuleGroup | null | undefined;
    searchValue?: string | undefined;
    dateRangeError?: string | null | undefined;
    loading?: boolean | undefined;
    stats?: {
        total: number;
        synced: number;
        unsynced: number;
    } | undefined;
    showDirection?: boolean | undefined;
    direction?: "in" | "out" | undefined;
    showOrderTypeFilter?: boolean | undefined;
    orderTypeFilter?: string | undefined;
}>, {
    activeUseCase: string;
    netsuiteIdInput: string;
    lookupRecordType: string;
    queryField: string;
    dateRange: () => {
        startDate: Date;
        endDate: Date;
    };
    syncFilter: string;
    filterRule: null;
    searchValue: string;
    dateRangeError: null;
    loading: boolean;
    stats: () => {
        total: number;
        synced: number;
        unsynced: number;
    };
    showDirection: boolean;
    direction: string;
    showOrderTypeFilter: boolean;
    orderTypeFilter: string;
    lookupRecordTypeOptions: undefined;
}>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    "update:activeUseCase": (value: ExplorerUseCase) => void;
    "update:netsuiteIdInput": (value: string) => void;
    "update:lookupRecordType": (value: ExplorerRecordType) => void;
    "update:queryField": (value: QueryField) => void;
    "update:dateRange": (value: {
        startDate: Date;
        endDate: Date;
    }) => void;
    "update:syncFilter": (value: SyncFilter) => void;
    "update:filterRule": (value: {
        value: string | number | boolean | (string | number | boolean)[];
        type: "string" | "number" | "date";
        operator: "$eq" | "$ne" | "$gt" | "$gte" | "$lt" | "$lte" | "$in" | "$nin" | "$regex" | "$contains" | "$startsWith" | "$endsWith" | "$between";
        property: string;
    } | import("@feedmepos/custom-attributes").FdoRuleGroup | null) => void;
    "update:searchValue": (value: string) => void;
    "update:direction": (value: "in" | "out") => void;
    "update:orderTypeFilter": (value: string) => void;
    execute: () => void;
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
    activeUseCase?: ExplorerUseCase | undefined;
    netsuiteIdInput?: string | undefined;
    lookupRecordType?: ExplorerRecordType | undefined;
    lookupRecordTypeOptions?: {
        value: string;
        label: string;
    }[] | undefined;
    queryField?: QueryField | undefined;
    dateRange?: {
        startDate: Date;
        endDate: Date;
    } | undefined;
    syncFilter?: SyncFilter | undefined;
    filterRule?: {
        value: string | number | boolean | (string | number | boolean)[];
        type: "string" | "number" | "date";
        operator: "$eq" | "$ne" | "$gt" | "$gte" | "$lt" | "$lte" | "$in" | "$nin" | "$regex" | "$contains" | "$startsWith" | "$endsWith" | "$between";
        property: string;
    } | import("@feedmepos/custom-attributes").FdoRuleGroup | null | undefined;
    searchValue?: string | undefined;
    dateRangeError?: string | null | undefined;
    loading?: boolean | undefined;
    stats?: {
        total: number;
        synced: number;
        unsynced: number;
    } | undefined;
    showDirection?: boolean | undefined;
    direction?: "in" | "out" | undefined;
    showOrderTypeFilter?: boolean | undefined;
    orderTypeFilter?: string | undefined;
}>, {
    activeUseCase: string;
    netsuiteIdInput: string;
    lookupRecordType: string;
    queryField: string;
    dateRange: () => {
        startDate: Date;
        endDate: Date;
    };
    syncFilter: string;
    filterRule: null;
    searchValue: string;
    dateRangeError: null;
    loading: boolean;
    stats: () => {
        total: number;
        synced: number;
        unsynced: number;
    };
    showDirection: boolean;
    direction: string;
    showOrderTypeFilter: boolean;
    orderTypeFilter: string;
    lookupRecordTypeOptions: undefined;
}>>> & Readonly<{
    "onUpdate:activeUseCase"?: ((value: ExplorerUseCase) => any) | undefined;
    "onUpdate:netsuiteIdInput"?: ((value: string) => any) | undefined;
    "onUpdate:lookupRecordType"?: ((value: ExplorerRecordType) => any) | undefined;
    "onUpdate:queryField"?: ((value: QueryField) => any) | undefined;
    "onUpdate:dateRange"?: ((value: {
        startDate: Date;
        endDate: Date;
    }) => any) | undefined;
    "onUpdate:syncFilter"?: ((value: SyncFilter) => any) | undefined;
    "onUpdate:filterRule"?: ((value: {
        value: string | number | boolean | (string | number | boolean)[];
        type: "string" | "number" | "date";
        operator: "$eq" | "$ne" | "$gt" | "$gte" | "$lt" | "$lte" | "$in" | "$nin" | "$regex" | "$contains" | "$startsWith" | "$endsWith" | "$between";
        property: string;
    } | import("@feedmepos/custom-attributes").FdoRuleGroup | null) => any) | undefined;
    "onUpdate:searchValue"?: ((value: string) => any) | undefined;
    "onUpdate:direction"?: ((value: "in" | "out") => any) | undefined;
    "onUpdate:orderTypeFilter"?: ((value: string) => any) | undefined;
    onExecute?: (() => any) | undefined;
}>, {
    loading: boolean;
    searchValue: string;
    dateRange: {
        startDate: Date;
        endDate: Date;
    };
    activeUseCase: ExplorerUseCase;
    netsuiteIdInput: string;
    lookupRecordType: ExplorerRecordType;
    lookupRecordTypeOptions: Array<{
        value: string;
        label: string;
    }>;
    queryField: QueryField;
    syncFilter: SyncFilter;
    filterRule: FdoRule | null;
    dateRangeError: string | null;
    stats: {
        total: number;
        synced: number;
        unsynced: number;
    };
    showDirection: boolean;
    direction: 'in' | 'out';
    showOrderTypeFilter: boolean;
    orderTypeFilter: string;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default _default;
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
type __VLS_TypePropsToRuntimeProps<T> = {
    [K in keyof T]-?: {} extends Pick<T, K> ? {
        type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
    } : {
        type: import('vue').PropType<T[K]>;
        required: true;
    };
};
type __VLS_WithDefaults<P, D> = {
    [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
        default: D[K];
    }> : P[K];
};
type __VLS_Prettify<T> = {
    [K in keyof T]: T[K];
} & {};
