import { OnInit } from '@angular/core';
import 'prismjs/components/prism-markup-templating.js';
import 'prismjs/components/prism-typescript';
import 'prismjs/components/prism-php';
import 'prismjs/components/prism-ruby';
import 'prismjs/components/prism-json';
import 'prismjs/components/prism-java';
import 'prismjs/components/prism-markdown';
import 'prismjs/components/prism-scss';
import 'prismjs/components/prism-swift';
import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
export declare enum SnippetType {
    single = "single",
    multi = "multi",
    inline = "inline"
}
export declare enum SnippetLanguage {
    javascript = "javascript",
    json = "json",
    typescript = "typescript",
    markup = "markup",
    markdown = "markdown",
    php = "php",
    ruby = "ruby",
    scss = "scss",
    css = "css",
    html = "html",
    xml = "xml",
    clike = "clike",
    java = "java",
    swift = "swift"
}
export declare class CodeSnippet implements OnInit {
    private sanitizer;
    /**
     * Variable used for creating unique ids for code-snippet components.
     */
    static codeSnippetCount: number;
    codeHtml: SafeHtml;
    /**
     * It can be `"single"`, `"multi"` or `"inline"`
     */
    display: SnippetType;
    /**
     * Text displayed in the tooltip when user clicks button to copy code.
     *
     */
    feedbackText: string;
    /**
     * Code content
     *
     */
    content: string;
    /**
     * Code highlight
     *
     */
    highlight: false;
    /**
     * Snippet highlight language
     *
     */
    language: SnippetLanguage;
    /**
     * Time in miliseconds to keep the feedback tooltip displayed.
     *
     */
    feedbackTimeout: number;
    /**
     * Set to `true` to show an expanded code snippet.
     */
    expanded: boolean;
    /**
     * Set to `true` to show a loading code snippet.
     */
    skeleton: boolean;
    snippetClass: boolean;
    readonly snippetSingleClass: boolean;
    readonly snippetMultiClass: boolean;
    readonly snippetInlineClass: boolean;
    readonly btnCopyClass: boolean;
    readonly displayStyle: string;
    readonly attrType: string;
    code: any;
    readonly shouldShowExpandButton: boolean;
    showFeedback: boolean;
    /**
     * Creates an instance of CodeSnippet.
     */
    constructor(sanitizer: DomSanitizer);
    ngOnInit(): void;
    toggleSnippetExpansion(): void;
    /**
     * Copies the code from the `<code>` block to clipboard.
     */
    copyCode(): void;
    /**
     * On copy button click, copies the code and shows feedback.
     */
    onCopyButtonClicked(): void;
    /**
     * Inline code snippet acts as button and makes the whole component clickable.
     *
     * This handles clicks in that case.
     */
    hostClick(): void;
}
