import TupleTag, { TagOptions } from './TupleTag'; import TupleMatchHelper from './tuple/TupleMatchHelper'; import TupleDerivedData from './tuple/TupleDerivedData'; import { symValueType } from './internalSymbols'; import TupleMap from './TupleMap'; import TupleQueryDerivedData from './tuple/TupleQueryDerivedData'; export default class Tuple { _s: string; tags: TupleTag[]; _asMap?: TupleMap; _derivedData?: TupleDerivedData; _matchHelper?: TupleMatchHelper; _byIdentifier?: Map; _queryDerivedData?: TupleQueryDerivedData; [symValueType]: string; constructor(tags: TupleTag[]); isEmpty(): boolean; derivedData(): TupleDerivedData; matchHelper(): TupleMatchHelper; asMap(): TupleMap; queryDerivedData(): TupleQueryDerivedData; toObject(): {}; byIdentifier(): Map; remapTags(func: (tag: TupleTag) => TupleTag): Tuple; modifyTagsList(func: (tags: TupleTag[]) => TupleTag[]): Tuple; tagCount(): number; isSupersetOf(subPattern: Tuple): boolean; overlapCheckSingleAttr(lhsTag: TupleTag, rhs: Tuple): boolean; hasOverlap(rhs: Tuple): boolean; checkDefiniteValuesProvidedBy(subTuple: Tuple): boolean; equals(rhs: Tuple): boolean; isMultiMatch(): boolean; hasAttr(attr: string): boolean; hasValueForAttr(attr: string): boolean; getTagObject(attr: string): TupleTag; getTagAsString(attr: string): string; getVal(attr: string): any; getNativeVal(attr: string): any; getValOptional(attr: string, defaultValue: any): any; getValByIdentifierOptional(identifierStr: string, defaultValue: any): any; deleteAtIndex(index: number): Tuple; setValueAtIndex(index: number, value: any): Tuple; setNativeVal(attr: string, value: any): Tuple; setVal(attr: string, value: any): Tuple; getTag(attr: string): TupleTag; findTagIndex(attr: string): number; updateTagOfType(attr: string, update: (t: TupleTag) => TupleTag): Tuple; updateTagAtIndex(index: number, update: (t: TupleTag) => TupleTag): Tuple; removeAttr(typeName: string): Tuple; removeTypes(typeNames: string[]): Tuple; addTag(tag: TupleTag): Tuple; addTags(tags: TupleTag[]): Tuple; addSimpleTag(tagType: string, tagValue?: any): Tuple; addNewTag(opts: TagOptions): Tuple; str(): string; stringify(): string; getAttrToIndexMap(): Map; isCommandMeta(): boolean; isCommandError(): boolean; isCommandSearchPattern(): boolean; toProxyObject(): any; } export declare function objectToTuple(object: { [k: string]: any; }): Tuple; export declare function tagsToTuple(tags: TupleTag[]): Tuple; export declare function singleTagToTuple(attr: string, value: any): Tuple;