export declare const enum FieldName {
    Type = "type",
    Id = "id",
    Iid = "iid",
    Reference = "reference",
    WebUrl = "webUrl",
    WebPath = "webPath",
    Label = "label",
    Epic = "epic",
    Parent = "parent",
    Created = "created",
    Updated = "updated",
    Assignee = "assignee",
    Author = "author",
    Milestone = "milestone",
    Weight = "weight",
    Group = "group",
    Project = "project",
    Confidential = "confidential",
    Health = "health",
    Closed = "closed",
    Iteration = "iteration",
    Cadence = "cadence",
    Start = "start",
    Due = "due",
    IncludeSubgroups = "includeSubgroups",
    Title = "title",
    Description = "description",
    Popularity = "popularity",
    Status = "status",
    MyReaction = "myReaction",
    Subscribed = "subscribed",
    TaskCompletionStatus = "taskCompletionStatus",
    LastComment = "lastComment",
    TimeEstimate = "timeEstimate",
    TotalTimeSpent = "totalTimeSpent",
    Progress = "progress",
    Color = "color",
    Draft = "draft",
    Approver = "approver",
    Reviewer = "reviewer",
    Merger = "merger",
    State = "state",
    Merged = "merged",
    Deployed = "deployed",
    Environment = "environment",
    SourceBranch = "sourceBranch",
    TargetBranch = "targetBranch",
    SourceProject = "sourceProject",
    TargetProject = "targetProject",
    Count = "count",
    TotalTimeToMerge = "totalTimeToMerge",
    MeanTimeToMerge = "meanTimeToMerge",
    CustomField = "customField",
    UnknownField = "unknownField",
    AliasedField = "aliasedField"
}
export declare class Field {
    name: FieldName;
    constructor(name: FieldName);
    clone(): Field;
    aliasedAs(alias: string): Field.Aliased;
    dealias(): Field;
    get displayFieldName(): string;
    toString(): string;
    eq(other: Field): boolean;
    static fromString(s: string): Field.Aliased | Field.Unknown;
}
export declare namespace Field {
    class Custom extends Field {
        customName: string;
        constructor(customName: string);
        clone(): Custom;
        toString(): string;
    }
    class Unknown extends Field {
        customName: string;
        constructor(customName: string);
        clone(): Unknown;
        toString(): string;
        get displayFieldName(): string;
        eq(other: Field): boolean;
    }
    class Aliased extends Field {
        field: Field;
        alias: string;
        constructor(field: Field, alias: string);
        clone(): Aliased;
        toString(): string;
        get displayFieldName(): string;
        eq(other: Field): boolean;
    }
}
