import { FeatureContext } from './feature'; import type { StylableMeta } from '../stylable-meta'; import type { ImmutablePseudoClass, PseudoClass } from '@tokey/css-selector-parser'; import type * as postcss from 'postcss'; import type { Stylable } from '../stylable'; export interface ImportSymbol { _kind: 'import'; type: 'named' | 'default'; name: string; import: Imported; context: string; } export interface AnalyzedImport { from: string; default: string; named: Record; typed: { keyframes: Record; }; } export interface Imported { from: string; defaultExport: string; named: Record; /**@deprecated use imported.typed.keyframes (remove in stylable 5) */ keyframes: Record; typed: Record>; rule: postcss.Rule | postcss.AtRule; request: string; context: string; } export declare const PseudoImport = ":import"; export declare const PseudoImportDecl: { readonly DEFAULT: "-st-default"; readonly NAMED: "-st-named"; readonly FROM: "-st-from"; }; /** * ImportTypeHook is used as a way to cast imported symbols before resolving their actual type. * currently used only for `keyframes` as they are completely on a separate namespace from other symbols. * * Hooks are registered statically since the features are static and cannot be selected/disabled. * If the system will ever change to support picking features dynamically, this mechanism would * have to move into the `metaInit` hook. */ export declare const ImportTypeHook: Map void>; export declare const diagnostics: { FORBIDDEN_DEF_IN_COMPLEX_SELECTOR: { (name: string): import("../diagnostics").DiagnosticBase; code: string; severity: import("../diagnostics").DiagnosticSeverity; }; NO_ST_IMPORT_IN_NESTED_SCOPE: { (): import("../diagnostics").DiagnosticBase; code: string; severity: import("../diagnostics").DiagnosticSeverity; }; NO_PSEUDO_IMPORT_IN_NESTED_SCOPE: { (): import("../diagnostics").DiagnosticBase; code: string; severity: import("../diagnostics").DiagnosticSeverity; }; INVALID_CUSTOM_PROPERTY_AS_VALUE: { (name: string, as: string): import("../diagnostics").DiagnosticBase; code: string; severity: import("../diagnostics").DiagnosticSeverity; }; UNKNOWN_IMPORTED_SYMBOL: { (name: string, path: string): import("../diagnostics").DiagnosticBase; code: string; severity: import("../diagnostics").DiagnosticSeverity; }; UNKNOWN_IMPORTED_FILE: { (path: string, error?: unknown): import("../diagnostics").DiagnosticBase; code: string; severity: import("../diagnostics").DiagnosticSeverity; }; UNKNOWN_TYPED_IMPORT: { (type: string): import("../diagnostics").DiagnosticBase; code: string; severity: import("../diagnostics").DiagnosticSeverity; }; NO_DEFAULT_EXPORT: { (path: string): import("../diagnostics").DiagnosticBase; code: string; severity: import("../diagnostics").DiagnosticSeverity; }; UNSUPPORTED_NATIVE_IMPORT: { (): import("../diagnostics").DiagnosticBase; code: string; severity: import("../diagnostics").DiagnosticSeverity; }; ST_IMPORT_STAR: { (): import("../diagnostics").DiagnosticBase; code: string; severity: import("../diagnostics").DiagnosticSeverity; }; INVALID_ST_IMPORT_FORMAT: { (errors: string[]): import("../diagnostics").DiagnosticBase; code: string; severity: import("../diagnostics").DiagnosticSeverity; }; ST_IMPORT_EMPTY_FROM: { (): import("../diagnostics").DiagnosticBase; code: string; severity: import("../diagnostics").DiagnosticSeverity; }; EMPTY_IMPORT_FROM: { (): import("../diagnostics").DiagnosticBase; code: string; severity: import("../diagnostics").DiagnosticSeverity; }; MULTIPLE_FROM_IN_IMPORT: { (): import("../diagnostics").DiagnosticBase; code: string; severity: import("../diagnostics").DiagnosticSeverity; }; DEFAULT_IMPORT_IS_LOWER_CASE: { (): import("../diagnostics").DiagnosticBase; code: string; severity: import("../diagnostics").DiagnosticSeverity; }; ILLEGAL_PROP_IN_IMPORT: { (propName: string): import("../diagnostics").DiagnosticBase; code: string; severity: import("../diagnostics").DiagnosticSeverity; }; FROM_PROP_MISSING_IN_IMPORT: { (): import("../diagnostics").DiagnosticBase; code: string; severity: import("../diagnostics").DiagnosticSeverity; }; INVALID_NAMED_IMPORT_AS: { (name: string): import("../diagnostics").DiagnosticBase; code: string; severity: import("../diagnostics").DiagnosticSeverity; }; INVALID_NESTED_KEYFRAMES: { (name: string): import("../diagnostics").DiagnosticBase; code: string; severity: import("../diagnostics").DiagnosticSeverity; }; INVALID_NESTED_TYPED_IMPORT: { (type: string, name: string): import("../diagnostics").DiagnosticBase; code: string; severity: import("../diagnostics").DiagnosticSeverity; }; }; export declare const hooks: import("./feature").FeatureHooks<{ SELECTOR: PseudoClass; IMMUTABLE_SELECTOR: ImmutablePseudoClass; }>; export declare class StylablePublicApi { private stylable; constructor(stylable: Stylable); analyze(meta: StylableMeta): AnalyzedImport[]; } export declare function getImportStatements({ data }: StylableMeta): ReadonlyArray; export declare function createImportSymbol(importDef: Imported, type: `default` | `named`, name: string, dirContext: string): ImportSymbol; //# sourceMappingURL=st-import.d.ts.map