import { ABCFile } from './ABCFile';
import { CONSTANT } from './CONSTANT';
import { Namespace } from './Namespace';
import { NamespaceType } from './NamespaceType';
import { AXObject } from '../../run/AXObject';
import { IGlobalInfo } from './IGlobalInfo';
export declare class Multiname {
    abc: ABCFile;
    index: number;
    kind: CONSTANT;
    namespaces: Namespace[];
    name: any;
    parameterType: Multiname;
    mutable: boolean;
    private static _isWeak;
    private static _nextID;
    id: number;
    private _mangledName;
    globalInfo: IGlobalInfo;
    numeric: boolean;
    numericValue: any;
    resolved: object;
    private _scope;
    private _value;
    private _key;
    constructor(abc: ABCFile, index: number, kind: CONSTANT, namespaces: Namespace[], name: any, parameterType?: Multiname, mutable?: boolean);
    set(name: string | number | any, namespace?: Namespace): void;
    /**
     * Drop field for RT name
     * @see https://github.com/awayfl/avm2/issues/4
     */
    drop(): void;
    get scope(): AXObject;
    set scope(v: AXObject);
    get value(): AXObject;
    set value(v: AXObject);
    key(): string;
    static FromFQNString(fqn: string, nsType: NamespaceType): Multiname;
    private _nameToString;
    isRuntime(): boolean;
    isRuntimeName(): boolean;
    isRuntimeNamespace(): boolean;
    isAnyName(): boolean;
    isAnyNamespace(): boolean;
    isQName(): boolean;
    get namespace(): Namespace;
    get uri(): string;
    get prefix(): string;
    set prefix(prefix: string);
    equalsQName(mn: Multiname): boolean;
    matches(mn: Multiname): boolean;
    isAttribute(): boolean;
    getMangledName(): string;
    private _mangleName;
    getPublicMangledName(): any;
    static isPublicQualifiedName(value: any): boolean;
    static getPublicMangledName(name: string): any;
    toFQNString(useColons: boolean): string;
    toString(): string;
    toFlashlogString(): string;
    /**
     * Removes the public prefix, or returns undefined if the prefix doesn't exist.
     */
    static stripPublicMangledName(name: string): any;
    static FromSimpleName(simpleName: string | any): Multiname;
}
//# sourceMappingURL=Multiname.d.ts.map