import { Schema, SchemaAttr, SchemaFuncParams } from './Schema'; import { SchemaDecl } from './SchemaDecl'; export interface IndexDemand { attrs: string[]; implySingleIndex?: boolean; requireSingleIndex?: boolean; requireMultiIndex?: boolean; } export declare class SchemaCompilation { decl: SchemaDecl; indexesNeeded: Map; attrByStr: Map; schema: Schema; constructor(decl: SchemaDecl); addIndexDemand(demand: IndexDemand): { name: string; }; declareFunc(funcParams: SchemaFuncParams): void; demandFunction_has(funcDeclStr: string, attrs: string[]): void; }