import * as ImportSpecifier from './ImportSpecifier';
import * as ImportDefaultSpecifier from './ImportDefaultSpecifier';
import * as ImportNamespaceSpecifier from './ImportNamespaceSpecifier';
import * as _Object from './ion/Object';
import * as Declaration from './Declaration';
import * as Statement from './Statement';
import * as Exportable from './Exportable';
import * as Typed from './Typed';
import * as Node from './Node';
import * as Location from './Location';
import * as Null from './ion/Null';
import * as Type from './Type';
import * as Integer from './ion/Integer';
import * as _Array from './ion/Array';
import * as Literal from './Literal';
import * as Identifier from './Identifier';
import * as String from './ion/String';
export declare type Specifier = ImportSpecifier.ImportSpecifier | (ImportDefaultSpecifier.ImportDefaultSpecifier | ImportNamespaceSpecifier.ImportNamespaceSpecifier);
export declare function isSpecifier(value: any): value is Specifier;
export declare class ImportDeclaration implements _Object.Object, Declaration.Declaration, Statement.Statement, Exportable.Exportable, Typed.Typed, Node.Node {
    readonly location: Location.Location | Null.Null;
    readonly type: Type.Type | Null.Null;
    readonly export: Integer.Integer;
    readonly specifiers: _Array.Array<Specifier>;
    readonly path: _Array.Array<Literal.Literal | Identifier.Identifier> | Null.Null;
    readonly source: Literal.Literal;
    readonly absoluteSource: String.String | Null.Null;
    static readonly id = "ImportDeclaration";
    static readonly implements: Set<string>;
    constructor({ location, type, export: _export, specifiers, path, source, absoluteSource }: {
        location?: Location.Location | Null.Null;
        type?: Type.Type | Null.Null;
        export?: Integer.Integer;
        specifiers: _Array.Array<Specifier>;
        path?: _Array.Array<Literal.Literal | Identifier.Identifier> | Null.Null;
        source: Literal.Literal;
        absoluteSource?: String.String | Null.Null;
    });
    patch(properties: {
        location?: Location.Location | Null.Null;
        type?: Type.Type | Null.Null;
        export?: Integer.Integer;
        specifiers?: _Array.Array<Specifier>;
        path?: _Array.Array<Literal.Literal | Identifier.Identifier> | Null.Null;
        source?: Literal.Literal;
        absoluteSource?: String.String | Null.Null;
    }): ImportDeclaration;
    static is(value: any): value is ImportDeclaration;
}
export declare function isImportDeclaration(value: any): value is ImportDeclaration;
export default ImportDeclaration;
