import { OverrideSpecifierContext, SolidityParserVisitor } from '../../antlr4';
import { IdentifierPath } from './identifier-path';
export type OverrideSpecifier = IdentifierPath[];
export declare const OverrideSpecifier: {
    new (ctx: OverrideSpecifierContext, visitor: SolidityParserVisitor<any>): {
        [n: number]: IdentifierPath;
        type: "OverrideSpecifier";
        length: number;
        toString(): string;
        toLocaleString(): string;
        pop(): IdentifierPath | undefined;
        push(...items: IdentifierPath[]): number;
        concat(...items: ConcatArray<IdentifierPath>[]): IdentifierPath[];
        concat(...items: (IdentifierPath | ConcatArray<IdentifierPath>)[]): IdentifierPath[];
        join(separator?: string | undefined): string;
        reverse(): IdentifierPath[];
        shift(): IdentifierPath | undefined;
        slice(start?: number | undefined, end?: number | undefined): IdentifierPath[];
        sort(compareFn?: ((a: IdentifierPath, b: IdentifierPath) => number) | undefined): any;
        splice(start: number, deleteCount?: number | undefined): IdentifierPath[];
        splice(start: number, deleteCount: number, ...items: IdentifierPath[]): IdentifierPath[];
        unshift(...items: IdentifierPath[]): number;
        indexOf(searchElement: IdentifierPath, fromIndex?: number | undefined): number;
        lastIndexOf(searchElement: IdentifierPath, fromIndex?: number | undefined): number;
        every<S extends IdentifierPath>(predicate: (value: IdentifierPath, index: number, array: IdentifierPath[]) => value is S, thisArg?: any): this is S[];
        every(predicate: (value: IdentifierPath, index: number, array: IdentifierPath[]) => unknown, thisArg?: any): boolean;
        some(predicate: (value: IdentifierPath, index: number, array: IdentifierPath[]) => unknown, thisArg?: any): boolean;
        forEach(callbackfn: (value: IdentifierPath, index: number, array: IdentifierPath[]) => void, thisArg?: any): void;
        map<U>(callbackfn: (value: IdentifierPath, index: number, array: IdentifierPath[]) => U, thisArg?: any): U[];
        filter<S_1 extends IdentifierPath>(predicate: (value: IdentifierPath, index: number, array: IdentifierPath[]) => value is S_1, thisArg?: any): S_1[];
        filter(predicate: (value: IdentifierPath, index: number, array: IdentifierPath[]) => unknown, thisArg?: any): IdentifierPath[];
        reduce(callbackfn: (previousValue: IdentifierPath, currentValue: IdentifierPath, currentIndex: number, array: IdentifierPath[]) => IdentifierPath): IdentifierPath;
        reduce(callbackfn: (previousValue: IdentifierPath, currentValue: IdentifierPath, currentIndex: number, array: IdentifierPath[]) => IdentifierPath, initialValue: IdentifierPath): IdentifierPath;
        reduce<U_1>(callbackfn: (previousValue: U_1, currentValue: IdentifierPath, currentIndex: number, array: IdentifierPath[]) => U_1, initialValue: U_1): U_1;
        reduceRight(callbackfn: (previousValue: IdentifierPath, currentValue: IdentifierPath, currentIndex: number, array: IdentifierPath[]) => IdentifierPath): IdentifierPath;
        reduceRight(callbackfn: (previousValue: IdentifierPath, currentValue: IdentifierPath, currentIndex: number, array: IdentifierPath[]) => IdentifierPath, initialValue: IdentifierPath): IdentifierPath;
        reduceRight<U_2>(callbackfn: (previousValue: U_2, currentValue: IdentifierPath, currentIndex: number, array: IdentifierPath[]) => U_2, initialValue: U_2): U_2;
        find<S_2 extends IdentifierPath>(predicate: (value: IdentifierPath, index: number, obj: IdentifierPath[]) => value is S_2, thisArg?: any): S_2 | undefined;
        find(predicate: (value: IdentifierPath, index: number, obj: IdentifierPath[]) => unknown, thisArg?: any): IdentifierPath | undefined;
        findIndex(predicate: (value: IdentifierPath, index: number, obj: IdentifierPath[]) => unknown, thisArg?: any): number;
        fill(value: IdentifierPath, start?: number | undefined, end?: number | undefined): any;
        copyWithin(target: number, start?: number | undefined, end?: number | undefined): any;
        entries(): IterableIterator<[number, IdentifierPath]>;
        keys(): IterableIterator<number>;
        values(): IterableIterator<IdentifierPath>;
        includes(searchElement: IdentifierPath, fromIndex?: number | undefined): boolean;
        [Symbol.iterator](): IterableIterator<IdentifierPath>;
        readonly [Symbol.unscopables]: {
            [x: number]: boolean | undefined;
            length?: boolean | undefined;
            toString?: boolean | undefined;
            toLocaleString?: boolean | undefined;
            pop?: boolean | undefined;
            push?: boolean | undefined;
            concat?: boolean | undefined;
            join?: boolean | undefined;
            reverse?: boolean | undefined;
            shift?: boolean | undefined;
            slice?: boolean | undefined;
            sort?: boolean | undefined;
            splice?: boolean | undefined;
            unshift?: boolean | undefined;
            indexOf?: boolean | undefined;
            lastIndexOf?: boolean | undefined;
            every?: boolean | undefined;
            some?: boolean | undefined;
            forEach?: boolean | undefined;
            map?: boolean | undefined;
            filter?: boolean | undefined;
            reduce?: boolean | undefined;
            reduceRight?: boolean | undefined;
            find?: boolean | undefined;
            findIndex?: boolean | undefined;
            fill?: boolean | undefined;
            copyWithin?: boolean | undefined;
            entries?: boolean | undefined;
            keys?: boolean | undefined;
            values?: boolean | undefined;
            includes?: boolean | undefined;
            [Symbol.iterator]?: boolean | undefined;
            readonly [Symbol.unscopables]?: boolean | undefined;
        };
    };
    isArray(arg: any): arg is any[];
    from<T>(arrayLike: ArrayLike<T>): T[];
    from<T_1, U_3>(arrayLike: ArrayLike<T_1>, mapfn: (v: T_1, k: number) => U_3, thisArg?: any): U_3[];
    from<T_2>(iterable: Iterable<T_2> | ArrayLike<T_2>): T_2[];
    from<T_3, U_4>(iterable: Iterable<T_3> | ArrayLike<T_3>, mapfn: (v: T_3, k: number) => U_4, thisArg?: any): U_4[];
    of<T_4>(...items: T_4[]): T_4[];
    readonly [Symbol.species]: ArrayConstructor;
};
