import { type Ref } from 'vue'; import { type ExplorerRecordType, type ExplorerLookupResult } from '@/api/netsuite-explorer'; export type ExplorerUseCase = 'lookup' | 'listByDate'; export type SyncFilter = 'all' | 'synced' | 'unsynced'; export type QueryField = 'id' | 'tranid'; export declare function useExplorerTab(): { activeUseCase: Ref; netsuiteIdInput: Ref; lookupRecordType: Ref; queryField: Ref; lookupResult: Ref<{ netsuiteRecord: any; additionalInfo: { id: string; tranid: string; transactionnumber: string; } | null; } | null, ExplorerLookupResult | { netsuiteRecord: any; additionalInfo: { id: string; tranid: string; transactionnumber: string; } | null; } | null>; lookupResults: Ref<{ netsuiteRecord: any; additionalInfo: { id: string; tranid: string; transactionnumber: string; } | null; }[], ExplorerLookupResult[] | { netsuiteRecord: any; additionalInfo: { id: string; tranid: string; transactionnumber: string; } | null; }[]>; dateRange: Ref<{ startDate: Date; endDate: Date; }, { startDate: Date; endDate: Date; } | { startDate: Date; endDate: Date; }>; syncFilter: Ref; direction: Ref<"in" | "out", "in" | "out">; filterRule: Ref<{ 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; } | { logic: "AND" | "OR"; rules: (any | { 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; })[]; } | null, { 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 | { 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; } | { logic: "AND" | "OR"; rules: (any | { 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; })[]; } | null>; searchValue: Ref; records: Ref<{ syncedAt?: string | undefined; meta?: Record | undefined; recordId: string; recordType: string; createdAt: string; transactionDate: string; transactionId: string; sourceLocationId: string; sourceLocationName: string; destinationLocationId: string; destinationLocationName: string; }[], { syncedAt?: string | undefined; meta?: Record | undefined; recordId: string; recordType: string; createdAt: string; transactionDate: string; transactionId: string; sourceLocationId: string; sourceLocationName: string; destinationLocationId: string; destinationLocationName: string; }[]>; loading: Ref; error: Ref; expandedRowIds: Ref & Omit, keyof Set>, Set | (Set & Omit, keyof Set>)>; stats: import("vue").ComputedRef<{ total: number; synced: number; unsynced: number; }>; dateRangeError: import("vue").ComputedRef<"Start date and end date are required" | "Start date must be before end date" | "Date range must not exceed 6 months" | null>; execute: (recordType: ExplorerRecordType, locationId: string) => Promise; executeLookup: (recordType: ExplorerRecordType, locationId: string, queryInput: string, field: QueryField) => Promise; executeListByDateRange: (recordType: ExplorerRecordType, locationId: string) => Promise; toggleRowExpand: (id: string) => void; isRowExpanded: (id: string) => boolean; reset: () => void; };