import { TagCategory, TagDiscriminator, TagNamespace } from "./constants";
export declare class TagSerializer {
    static serialize(t: Tag): string;
    static deserialize(o: any): Tag;
}
export declare class Tag {
    tag: string;
    constructor(tag: string);
    static newTag(category: TagCategory, namespace: TagNamespace): Tag;
    toString(): string;
    unitaryPrefix: () => string;
    discriminator: () => string;
    concat: (...tokens: Array<string>) => Tag;
    finalize: (finType: TagDiscriminator) => Tag;
    private valid;
    pop: () => Tag;
    getCategory: () => TagCategory;
    getNamespace: () => TagNamespace;
    getAdditionalTokens: () => Array<string>;
}
