import * as ts from 'typescript'; import { DatabaseDefinition, TableDefinition } from '../../parser'; export declare type AvailableOptions = 'transaction' | 'with_joins_true' | 'with_joins_false' | 'with_joins_none' | 'with_joins_default' | 'count'; export declare type OptionDeclarationArgs = Readonly<{ optional: boolean; includes: ReadonlyArray; }>; export declare function createOptionsParameterDeclaration(args: OptionDeclarationArgs): ts.ParameterDeclaration; export declare function createOptionsTypeNode(options: ReadonlyArray): ts.TypeLiteralNode; export declare function createReadOnlyArrayTypeNode(baseType: ts.TypeNode): ts.TypeReferenceNode; export declare function createClientTypeDeclaration(database: DatabaseDefinition): ReadonlyArray; export declare function indexTypeNameForTable(table: TableDefinition): string; export declare function createIndexesTypeReferenceForTable(table: TableDefinition): ts.TypeReferenceNode; export declare function createIndexesTypeForTable(table: TableDefinition): ts.TypeAliasDeclaration; export declare function createParameterDeclarationsForTransaction(database: DatabaseDefinition): ReadonlyArray;