import { type Where, type ResultsetOptions, type ResultSet } from "@medyll/idae-query"; export declare class CollectionCore { protected _store: string; private version?; private dbName; private dBOpenRequest; private keyPath; private writeQueue; constructor(store: string, keyPath: string, args: { dbName: string; version?: number; }); get name(): string; private getDatabase; /** get the collection */ private getCollection; /** * Enqueue a write operation to serialize access and prevent transaction deadlocks. * All write operations (add, put, delete, update, updateWhere, deleteWhere) go through this queue. */ private enqueueWrite; /** * Retrieves the data from the collection based on the provided query. * @param qy - The query object specifying the conditions for filtering the data. * @param options - The options object specifying additional operations to be applied on the result set. * @returns A promise that resolves to the filtered result set. * @throws If an error occurs while retrieving the data. */ where(qy: Where, options?: ResultsetOptions): Promise>; /** * Counts the number of documents in the collection. * When called without a query parameter, it uses the native IndexedDB count() method for optimal performance. * When called with a query parameter, it retrieves all matching documents to return the count. */ count(qy?: Where): Promise; get(value: Partial): Promise; getAll(): Promise; update(keyPathValue: string | number, data: Partial, opts?: { silent?: boolean; tx?: IDBTransaction; }): Promise<{ toString: () => string; charAt: (pos: number) => string; charCodeAt: (index: number) => number; concat: (...strings: string[]) => string; indexOf: (searchString: string, position?: number) => number; lastIndexOf: (searchString: string, position?: number) => number; localeCompare: { (that: string): number; (that: string, locales?: string | string[], options?: Intl.CollatorOptions): number; (that: string, locales?: Intl.LocalesArgument, options?: Intl.CollatorOptions): number; }; match: { (regexp: string | RegExp): RegExpMatchArray | null; (matcher: { [Symbol.match](string: string): RegExpMatchArray | null; }): RegExpMatchArray | null; }; replace: { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; (searchValue: { [Symbol.replace](string: string, replaceValue: string): string; }, replaceValue: string): string; (searchValue: { [Symbol.replace](string: string, replacer: (substring: string, ...args: any[]) => string): string; }, replacer: (substring: string, ...args: any[]) => string): string; }; search: { (regexp: string | RegExp): number; (searcher: { [Symbol.search](string: string): number; }): number; }; slice: (start?: number, end?: number) => string; split: { (separator: string | RegExp, limit?: number): string[]; (splitter: { [Symbol.split](string: string, limit?: number): string[]; }, limit?: number): string[]; }; substring: (start: number, end?: number) => string; toLowerCase: () => string; toLocaleLowerCase: { (locales?: string | string[]): string; (locales?: Intl.LocalesArgument): string; }; toUpperCase: () => string; toLocaleUpperCase: { (locales?: string | string[]): string; (locales?: Intl.LocalesArgument): string; }; trim: () => string; length: number; substr: (from: number, length?: number) => string; valueOf: () => string; codePointAt: (pos: number) => number | undefined; includes: (searchString: string, position?: number) => boolean; endsWith: (searchString: string, endPosition?: number) => boolean; normalize: { (form: "NFC" | "NFD" | "NFKC" | "NFKD"): string; (form?: string): string; }; repeat: (count: number) => string; startsWith: (searchString: string, position?: number) => boolean; anchor: (name: string) => string; big: () => string; blink: () => string; bold: () => string; fixed: () => string; fontcolor: (color: string) => string; fontsize: { (size: number): string; (size: string): string; }; italics: () => string; link: (url: string) => string; small: () => string; strike: () => string; sub: () => string; sup: () => string; padStart: (maxLength: number, fillString?: string) => string; padEnd: (maxLength: number, fillString?: string) => string; trimEnd: () => string; trimStart: () => string; trimLeft: () => string; trimRight: () => string; matchAll: (regexp: RegExp) => RegExpStringIterator; replaceAll: { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; }; at: (index: number) => string | undefined; isWellFormed: () => boolean; toWellFormed: () => string; [Symbol.iterator]: () => StringIterator; }>; updateWhere(where: Where, data: Partial, opts?: { silent?: boolean; tx?: IDBTransaction; }): Promise; put(value: Partial, opts?: { silent?: boolean; tx?: IDBTransaction; }): Promise; add(data: Partial, opts?: { silent?: boolean; tx?: IDBTransaction; }): Promise; delete(keyPathValue: string | number, opts?: { silent?: boolean; tx?: IDBTransaction; }): Promise; deleteWhere(where: Where, opts?: { silent?: boolean; tx?: IDBTransaction; }): Promise; batchAdd(items: Partial[], opts?: { silent?: boolean; }): Promise; batchPut(items: Partial[], opts?: { silent?: boolean; }): Promise; } export declare const Collection: CollectionCore;