import type es from 'estree';
import { ArrayMap } from '../dict';
export declare function getModuleDeclarationSource(node: Exclude<es.ModuleDeclaration, es.ExportDefaultDeclaration>): string;
/**
 * Filters out all import declarations from a program, and sorts them by
 * the module they import from
 */
export declare function filterImportDeclarations({ body }: es.Program): [
    ArrayMap<string, es.ImportDeclaration>,
    Exclude<es.Program['body'][0], es.ImportDeclaration>[]
];
export declare function extractIdsFromPattern(pattern: es.Pattern): es.Identifier[];
export declare function getIdsFromDeclaration(decl: es.Declaration, allowNull: true): (es.Identifier | null)[];
export declare function getIdsFromDeclaration(decl: es.Declaration, allowNull?: false): es.Identifier[];
export declare function getSourceVariableDeclaration(decl: es.VariableDeclaration): {
    id: es.Identifier;
    init: es.Expression;
    loc: es.SourceLocation | null | undefined;
};
export declare const getImportedName: (spec: es.ImportSpecifier | es.ImportDefaultSpecifier | es.ExportSpecifier) => string;
export declare const speciferToString: (spec: es.ImportSpecifier | es.ImportDefaultSpecifier | es.ExportSpecifier) => string;
