import { BasicBuilder } from './BasicBuilder'; import { Writer } from './Writer'; export type Import = NamespaceImport | BindingsImport | ModuleImport; export declare class NamespaceImport implements BasicBuilder { readonly alias: string; readonly from: string; private type; constructor(alias: string, from: string); typeOnly(): this; write(writer: Writer): void; } export declare class BindingsImport implements BasicBuilder { readonly from: string; private defaultImport; private namedImports; constructor(from: string); default(name: string): this; named(namedImport: string | NamedImport): this; write(writer: Writer): void; private hasNamedImports; } export declare class NamedImport implements BasicBuilder { readonly name: string; private alias; private type; constructor(name: string); as(alias: string): this; typeOnly(): this; write(writer: Writer): void; } export declare class ModuleImport implements BasicBuilder { readonly from: string; constructor(from: string); asNamespace(alias: string): NamespaceImport; default(alias: string): BindingsImport; named(namedImport: string | NamedImport): BindingsImport; write(writer: Writer): void; } export declare function moduleImport(from: string): ModuleImport; export declare function namedImport(name: string): NamedImport;