import { TemplateRef } from '@angular/core';
import { DocsCodeExampleMetadata, DocsCodeTab } from './types';
import 'prismjs/components/prism-typescript';
import 'prismjs/components/prism-javascript';
import 'prismjs/components/prism-css';
import 'prismjs/components/prism-scss';
import 'prismjs/components/prism-bash';
import 'prismjs/components/prism-json';
import 'prismjs/components/prism-markup';
import * as i0 from "@angular/core";
/**
 * val-docs-code-example
 *
 * A code example component with tabs, preview, and copy functionality.
 *
 * @example Basic usage
 * ```html
 * <val-docs-code-example
 *   [props]="{
 *     title: 'Basic Button',
 *     tabs: [
 *       { label: 'HTML', language: 'html', code: '<val-button>Click me</val-button>' },
 *       { label: 'TypeScript', language: 'typescript', code: 'import { ButtonComponent } from ...' }
 *     ]
 *   }"
 * >
 *   <ng-template #preview>
 *     <val-button [props]="{ label: 'Click me' }"></val-button>
 *   </ng-template>
 * </val-docs-code-example>
 * ```
 */
export declare class DocsCodeExampleComponent {
    props: DocsCodeExampleMetadata;
    previewTpl?: TemplateRef<any>;
    protected activeTab: import("@angular/core").WritableSignal<number>;
    protected copied: import("@angular/core").WritableSignal<boolean>;
    protected currentTab(): DocsCodeTab;
    protected highlightedCode(): string;
    copyCode(): Promise<void>;
    private normalizeLanguage;
    private escapeHtml;
    static ɵfac: i0.ɵɵFactoryDeclaration<DocsCodeExampleComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DocsCodeExampleComponent, "val-docs-code-example", never, { "props": { "alias": "props"; "required": false; }; }, {}, ["previewTpl"], never, true, never>;
}
