46 lines
1.6 KiB
TypeScript
46 lines
1.6 KiB
TypeScript
|
import { SemanticFont, SemanticMeaning } from './semantic_meaning';
|
||
|
import { SemanticNode } from './semantic_node';
|
||
|
export declare class SemanticDefault {
|
||
|
map: {
|
||
|
[key: string]: SemanticMeaning;
|
||
|
};
|
||
|
static key(symbol: string, font: SemanticFont): string;
|
||
|
add(symbol: string, meaning: SemanticMeaning): void;
|
||
|
addNode(node: SemanticNode): void;
|
||
|
retrieve(symbol: string, font: SemanticFont): SemanticMeaning;
|
||
|
retrieveNode(node: SemanticNode): SemanticMeaning;
|
||
|
size(): number;
|
||
|
}
|
||
|
declare abstract class SemanticCollator<T> {
|
||
|
map: {
|
||
|
[key: string]: T[];
|
||
|
};
|
||
|
abstract copyCollator(): SemanticCollator<T>;
|
||
|
add(symbol: string, entry: T): void;
|
||
|
abstract addNode(node: SemanticNode): void;
|
||
|
retrieve(symbol: string, font: SemanticFont): T[];
|
||
|
retrieveNode(node: SemanticNode): T[];
|
||
|
copy(): SemanticCollator<T>;
|
||
|
minimize(): void;
|
||
|
minimalCollator(): SemanticCollator<T>;
|
||
|
isMultiValued(): boolean;
|
||
|
isEmpty(): boolean;
|
||
|
}
|
||
|
export declare class SemanticNodeCollator extends SemanticCollator<SemanticNode> {
|
||
|
copyCollator(): SemanticNodeCollator;
|
||
|
add(symbol: string, entry: SemanticNode): void;
|
||
|
addNode(node: SemanticNode): void;
|
||
|
toString(): string;
|
||
|
collateMeaning(): SemanticMeaningCollator;
|
||
|
}
|
||
|
export declare class SemanticMeaningCollator extends SemanticCollator<SemanticMeaning> {
|
||
|
copyCollator(): SemanticMeaningCollator;
|
||
|
add(symbol: string, entry: SemanticMeaning): void;
|
||
|
addNode(node: SemanticNode): void;
|
||
|
toString(): string;
|
||
|
reduce(): void;
|
||
|
default(): SemanticDefault;
|
||
|
newDefault(): SemanticDefault | null;
|
||
|
}
|
||
|
export {};
|