import { HasGuid } from './guid'; import { Option } from './platform-utils'; export interface Dict { [index: string]: T; } export interface Set { add(value: T): Set; delete(value: T): void; forEach(callback: (item: T) => void): void; } export declare function dict(): Dict; export declare type SetMember = HasGuid | string; export declare class DictSet implements Set { private dict; constructor(); add(obj: T): Set; delete(obj: T): void; forEach(callback: (item: T) => void): void; toArray(): string[]; } export declare class Stack { private stack; current: Option; toArray(): T[]; push(item: T): void; pop(): Option; isEmpty(): boolean; }