import * as _angular_core from '@angular/core';
import { AfterViewInit, ElementRef } from '@angular/core';
import { SafeHtml } from '@angular/platform-browser';
import { ClassValue } from 'clsx';
import { BundledLanguage } from 'shiki';

type ZCodeTheme = 'github-dark' | 'github-light' | 'vitesse-dark' | 'one-dark-pro';

declare class ZCodeComponent implements AfterViewInit {
    private readonly _toast;
    private readonly _sanitizer;
    private readonly _themeService;
    private readonly _zTranslate;
    protected readonly codeEl: _angular_core.Signal<ElementRef<HTMLDivElement> | undefined>;
    readonly class: _angular_core.InputSignal<ClassValue>;
    readonly zTitle: _angular_core.InputSignal<string>;
    readonly zLanguage: _angular_core.InputSignal<BundledLanguage>;
    readonly zCode: _angular_core.InputSignal<string>;
    readonly zTheme: _angular_core.InputSignal<"" | ZCodeTheme>;
    readonly zShowLineNumbers: _angular_core.InputSignal<boolean>;
    protected readonly copied: _angular_core.WritableSignal<boolean>;
    protected readonly highlightedCode: _angular_core.WritableSignal<SafeHtml>;
    protected readonly isHighlighting: _angular_core.WritableSignal<boolean>;
    private _rawCode;
    private readonly _effectiveTheme;
    protected readonly wrapperClasses: _angular_core.Signal<string>;
    protected readonly contentClasses: _angular_core.Signal<string>;
    constructor();
    ngAfterViewInit(): void;
    private _highlightCode;
    protected copyCode(): void;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<ZCodeComponent, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<ZCodeComponent, "z-code", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; "zTitle": { "alias": "zTitle"; "required": false; "isSignal": true; }; "zLanguage": { "alias": "zLanguage"; "required": false; "isSignal": true; }; "zCode": { "alias": "zCode"; "required": false; "isSignal": true; }; "zTheme": { "alias": "zTheme"; "required": false; "isSignal": true; }; "zShowLineNumbers": { "alias": "zShowLineNumbers"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}

export { ZCodeComponent };
