import * as ts from 'typescript'; import { FieldDefinition, TableDefinition, Annotation, Annotations } from '../parser'; export declare type IndexKind = 'autoincrement' | 'key' | 'index'; export declare function doAnnotationsInclude(annotations: ReadonlyArray, names: ReadonlyArray): boolean; export declare function annotationsFromList(annotations: ReadonlyArray, names: ReadonlyArray): string | null; export declare type TableIndexMap = Readonly<{ key: TableIndex | null; indexes: ReadonlyArray; }>; export declare type TableIndex = Readonly<{ kind: IndexKind; name: string; fields: ReadonlyArray; }>; export declare function getIndexesForTable(table: TableDefinition): TableIndexMap; export declare function getIndexesForTableAsArray(table: TableDefinition): ReadonlyArray; export declare function getAutoIncrementFieldForTable(table: TableDefinition): FieldDefinition | null; export declare function isPrimaryKey(tableIndex: TableIndex): boolean; export declare function isAutoIncrementField(field: FieldDefinition): boolean; export declare function getPrimaryKeyFieldForTable(table: TableDefinition): FieldDefinition; export declare function getIndexFieldsForTable(table: TableDefinition): ReadonlyArray; export declare function getAnnotationsByName(annotations: Annotations, name: string): Annotations; export declare function getPrimaryKeyTypeForTable(table: TableDefinition): ts.TypeNode; export declare function getPrimaryKeyTypeForTableAsString(table: TableDefinition): string;