import { IClassOf, INameValuePairs } from "../../core/types";
import { AtomControl } from "../controls/AtomControl";
import { AtomStyleSheet } from "./AtomStyleSheet";
export declare type StyleItem = AtomStyle;
export interface IAtomStyle {
    name: string;
}
export declare class AtomStyle implements IAtomStyle {
    styleSheet: AtomStyleSheet;
    readonly parent: AtomStyle;
    readonly name: string;
    private defaults;
    private isBuilt;
    constructor(styleSheet: AtomStyleSheet, parent: AtomStyle, name: string);
    getDefaultStyle(forKey: any): AtomStyle;
    createNamedStyle<T extends AtomStyle>(c: IClassOf<T>, name: string): T;
    createStyle<TC extends AtomControl, T extends AtomStyle>(tc: IClassOf<TC>, c: IClassOf<T>, name: string): T;
    getBaseProperty<T>(tc: IClassOf<T>, name: string): any;
    toStyle(pairs?: INameValuePairs): INameValuePairs;
    protected toFullName(n: string): string;
    protected build(): void;
    protected init(): void;
    protected registerExternalStyleSheet(s: {
        href: string;
        integrity?: string;
        crossOrigin?: string;
    }): void;
    private createStyleText;
}
//# sourceMappingURL=AtomStyle.d.ts.map