import { Config } from 'arangojs/connection.js'; import { Database } from 'arangojs'; import { DocumentMetadata } from 'arangojs/documents.js'; import { DocumentCollection } from 'arangojs/collection.js'; import { Entity, Reference } from './index.js'; import { JsonPrimitive } from '@salesforce/ts-types'; import { AqlQuery } from 'arangojs/aql.js'; export declare const INVALID_KEY_CHARS_REGEX: RegExp; export declare const INVALID_COLLECTION_CHARS_REGEX: RegExp; export declare const INVALID_COLLECTION_FIRST_CHAR_REGEX: RegExp; export declare const NAME_SEPARATOR = "_"; export { aql } from 'arangojs'; export declare class ArangoStore { protected _activeDb: Database; protected static _systemDb?: Database; constructor(_activeDb: Database); protected static instances: Record; /** * Arango system information database; acts as a proxy for the current Arango server connection. */ static get system(): Database; /** * Connects to the Arango server and stores a connection to the system database. * Should be followed by `ArangoStore.load()` in most situations. */ protected static connect(connection?: Partial): Database; /** * Connects to the Arango server (if necessary) and returns a database instance ready to use * with Spidergram data. * * @param databaseName * @param connection * @returns */ static open(name?: string, customConnection?: Partial): Promise; /** * Load an Arango database and (if necessary) initialize it with collections * for all Spidergram entities. Requires an existing connection to Arango. * * @param databaseName * @returns */ protected static load(name: string): Promise; /** * Closes the connection to Arango for this database. */ close(): void; /** * The current active Arango database. */ get db(): Database; static initialize(database: Database, erase?: boolean): Promise; exists(ref: Reference): Promise; findById(ref: Reference): Promise; findAll(collection: string, criteria?: Record, limit?: number): Promise[]>; push(input: Entity | Entity[], overwrite?: boolean): Promise[]>; delete(input: Entity | Entity[]): Promise; erase(options: { collections?: string[]; eraseAll?: boolean; }): Promise; get query(): { (query: AqlQuery, options?: import("arangojs/database.js").QueryOptions): Promise>; (query: string | import("arangojs/aql.js").AqlLiteral, bindVars?: Record, options?: import("arangojs/database.js").QueryOptions): Promise>; }; get collection(): = any>(collectionName: string) => DocumentCollection & import("arangojs/collection.js").EdgeCollection; } type validDelimiter = '-' | '_' | '.'; export declare function sanitizeDbName(input: string, delimiter?: validDelimiter): string; export declare function sanitizeCollectionName(input: string, delimiter?: validDelimiter): string; export declare function sanitizeKey(input: string, delimiter?: validDelimiter): string; export declare function isValidKey(key: unknown): key is string; export declare function isValidName(name: unknown): name is string; //# sourceMappingURL=arango-store.d.ts.map