import { Compiler as BaseCompiler } from './compiler';
interface Node {
    type: string;
    position?: any;
    stylesheet?: {
        rules: Node[];
    };
    comment?: string;
    import?: string;
    media?: string;
    vendor?: string;
    document?: string;
    charset?: string;
    namespace?: string;
    supports?: string;
    name?: string;
    keyframes?: Node[];
    values?: string[];
    declarations?: Node[];
    selectors?: string[];
    rules?: Node[];
    property?: string;
    value?: string;
}
interface CompilerOptions {
    indent?: string;
}
/**
 * Initialize a new `Compiler`.
 */
export declare class IdentityCompiler extends BaseCompiler {
    private indentation;
    private level;
    constructor(options?: CompilerOptions);
    /**
     * Compile `node`.
     */
    compile(node: Node): string;
    /**
     * Visit stylesheet node.
     */
    stylesheet(node: Node): string;
    /**
     * Visit comment node.
     */
    comment(node: Node): string;
    /**
     * Visit import node.
     */
    import(node: Node): string;
    /**
     * Visit media node.
     */
    media(node: Node): string;
    /**
     * Visit document node.
     */
    document(node: Node): string;
    /**
     * Visit charset node.
     */
    charset(node: Node): string;
    /**
     * Visit namespace node.
     */
    namespace(node: Node): string;
    /**
     * Visit supports node.
     */
    supports(node: Node): string;
    /**
     * Visit keyframes node.
     */
    keyframes(node: Node): string;
    /**
     * Visit keyframe node.
     */
    keyframe(node: Node): string;
    /**
     * Visit page node.
     */
    page(node: Node): string;
    /**
     * Visit font-face node.
     */
    'font-face'(node: Node): string;
    /**
     * Visit host node.
     */
    host(node: Node): string;
    /**
     * Visit custom-media node.
     */
    'custom-media'(node: Node): string;
    /**
     * Visit rule node.
     */
    rule(node: Node): string;
    /**
     * Visit declaration node.
     */
    declaration(node: Node): string;
    /**
     * Increase, decrease or return current indentation.
     */
    indent(level?: number): string;
}
export {};
//# sourceMappingURL=identity.d.ts.map