import { FeatureContext, FeatureTransformContext } from './feature';
import type { ImportSymbol } from './st-import';
import type { Stylable } from '../stylable';
import type { StylableMeta } from '../stylable-meta';
import { type StylableResolver, type CSSResolve } from '../stylable-resolver';
import type * as postcss from 'postcss';
import { WordNode } from 'postcss-value-parser';
export interface CSSVarSymbol {
    _kind: 'cssVar';
    name: string;
    global: boolean;
    alias: ImportSymbol | undefined;
}
export declare const diagnostics: {
    ILLEGAL_CSS_VAR_USE: {
        (name: string): import("../diagnostics").DiagnosticBase;
        code: string;
        severity: import("../diagnostics").DiagnosticSeverity;
    };
    ILLEGAL_CSS_VAR_ARGS: {
        (name: string): import("../diagnostics").DiagnosticBase;
        code: string;
        severity: import("../diagnostics").DiagnosticSeverity;
    };
    DEPRECATED_ST_GLOBAL_CUSTOM_PROPERTY: {
        (): import("../diagnostics").DiagnosticBase;
        code: string;
        severity: import("../diagnostics").DiagnosticSeverity;
    };
    GLOBAL_CSS_VAR_MISSING_COMMA: {
        (name: string): import("../diagnostics").DiagnosticBase;
        code: string;
        severity: import("../diagnostics").DiagnosticSeverity;
    };
    ILLEGAL_GLOBAL_CSS_VAR: {
        (name: string): import("../diagnostics").DiagnosticBase;
        code: string;
        severity: import("../diagnostics").DiagnosticSeverity;
    };
    MISSING_PROP_NAME: {
        (): import("../diagnostics").DiagnosticBase;
        code: string;
        severity: import("../diagnostics").DiagnosticSeverity;
    };
    UNDEFINED_CSS_CUSTOM_PROP: {
        (name: any): import("../diagnostics").DiagnosticBase;
        code: string;
        severity: import("../diagnostics").DiagnosticSeverity;
    };
    MISSING_REQUIRED_DESCRIPTOR: {
        (descriptorName: string): import("../diagnostics").DiagnosticBase;
        code: string;
        severity: import("../diagnostics").DiagnosticSeverity;
    };
    MISSING_REQUIRED_INITIAL_VALUE_DESCRIPTOR: {
        (): import("../diagnostics").DiagnosticBase;
        code: string;
        severity: import("../diagnostics").DiagnosticSeverity;
    };
    INVALID_DESCRIPTOR_TYPE: {
        (descriptorType: string): import("../diagnostics").DiagnosticBase;
        code: string;
        severity: import("../diagnostics").DiagnosticSeverity;
    };
    INVALID_DESCRIPTOR_NAME: {
        (descriptorName: string): import("../diagnostics").DiagnosticBase;
        code: string;
        severity: import("../diagnostics").DiagnosticSeverity;
    };
};
interface ResolvedSymbols {
    localToGlobal: Record<string, string>;
    locals: Set<string>;
}
export declare const hooks: import("./feature").FeatureHooks<{
    RESOLVED: ResolvedSymbols;
}>;
export declare function transformPropertyIdent(meta: StylableMeta, node: WordNode, getResolvedSymbols: FeatureTransformContext['getResolvedSymbols']): void;
export declare function get(meta: StylableMeta, name: string): CSSVarSymbol | undefined;
export declare function addCSSProperty({ context, node, name, global, final, alias, }: {
    context: FeatureContext;
    node: postcss.Declaration | postcss.AtRule | postcss.Rule;
    name: string;
    global: boolean;
    final: boolean;
    alias?: ImportSymbol;
}): void;
export declare class StylablePublicApi {
    private stylable;
    constructor(stylable: Stylable);
    getProperties(meta: StylableMeta): Record<string, {
        meta: StylableMeta;
        localName: string;
        targetName: string;
        source: {
            meta: StylableMeta;
            start: postcss.Position;
            end: postcss.Position;
        };
    }>;
}
export declare function getRuntimeTypedDefinitionNames(meta: StylableMeta): string[];
export declare function getTransformedName({ symbol, meta }: CSSResolve<CSSVarSymbol>): string;
export declare function scopeCSSVar(resolver: StylableResolver, meta: StylableMeta, symbolName: string): string;
export {};
//# sourceMappingURL=css-custom-property.d.ts.map