interface TableOptions { limit?: number | null; selected_keys?: string[]; likes?: Record; } interface TableSchema { [key: string]: string; } interface TableInfo { name: string; type: string; date: Date; schema: TableSchema; } interface TableReference { [key: string]: any; } interface TableData { [key: string]: any; } interface TableFunctions { create: (scheme: TableSchema) => Promise; remove: () => Promise; isThere: () => Promise; info: () => Promise; getAll: () => Promise; updateColumn: (columnName: string) => { add: (type: string) => Promise; remove: () => Promise; rename: (newColumnName: string) => Promise; update: (type: string) => Promise; }; } declare function TableFunctions(name: string): TableFunctions; export declare function Table(name: string): { find: (reference?: TableReference, options?: TableOptions) => Promise; findOne: (reference?: TableReference, options?: TableOptions) => Promise; createOne: (data: TableData) => Promise; updateOne: (reference: TableReference, data: TableData) => Promise; deleteOne: (reference: TableReference) => Promise; deleteAll: (reference?: TableReference) => Promise; first: (reference?: TableReference, options?: TableOptions) => Promise; firstOrDefault: (reference?: TableReference, options?: TableOptions) => Promise; single: (reference?: TableReference, options?: TableOptions) => Promise; singleOrDefault: (reference?: TableReference, options?: TableOptions) => Promise; last: (reference?: TableReference, options?: TableOptions) => Promise; lastOrDefault: (reference?: TableReference, options?: TableOptions) => Promise; count: (reference?: TableReference, options?: TableOptions) => Promise; min: (key: string, reference?: TableReference, options?: TableOptions) => Promise; max: (key: string, reference?: TableReference, options?: TableOptions) => Promise; average: (key: string, reference?: TableReference, options?: TableOptions) => Promise; functions: TableFunctions; }; export {};