import { MastraBase } from '../../../base.js'; import type { TABLE_NAMES } from '../../constants.js'; import type { StorageColumn, CreateIndexOptions, IndexInfo, StorageIndexStats } from '../../types.js'; export declare abstract class StoreOperations extends MastraBase { constructor(); abstract hasColumn(table: string, column: string): Promise; protected getSqlType(type: StorageColumn['type']): string; protected getDefaultValue(type: StorageColumn['type']): string; abstract createTable({ tableName }: { tableName: TABLE_NAMES; schema: Record; }): Promise; abstract clearTable({ tableName }: { tableName: TABLE_NAMES; }): Promise; abstract dropTable({ tableName }: { tableName: TABLE_NAMES; }): Promise; abstract alterTable(args: { tableName: TABLE_NAMES; schema: Record; ifNotExists: string[]; }): Promise; abstract insert({ tableName, record }: { tableName: TABLE_NAMES; record: Record; }): Promise; abstract batchInsert({ tableName, records, }: { tableName: TABLE_NAMES; records: Record[]; }): Promise; abstract load({ tableName, keys }: { tableName: TABLE_NAMES; keys: Record; }): Promise; /** * DATABASE INDEX MANAGEMENT * Optional methods for database index management. * Storage adapters can override these to provide index management capabilities. */ /** * Creates a database index on specified columns * @throws {MastraError} if not supported by the storage adapter */ createIndex(_options: CreateIndexOptions): Promise; /** * Drops a database index by name * @throws {MastraError} if not supported by the storage adapter */ dropIndex(_indexName: string): Promise; /** * Lists database indexes for a table or all tables * @throws {MastraError} if not supported by the storage adapter */ listIndexes(_tableName?: string): Promise; /** * Gets detailed statistics for a specific index * @throws {MastraError} if not supported by the storage adapter */ describeIndex(_indexName: string): Promise; /** * Returns definitions for automatic performance indexes * Storage adapters can override this to define indexes that should be created during initialization * @returns Array of index definitions to create automatically */ protected getAutomaticIndexDefinitions(): CreateIndexOptions[]; } //# sourceMappingURL=base.d.ts.map