import { Signal, TemplateRef } from '@angular/core';
import * as i0 from "@angular/core";
/**
 * @docs-private
 */
type KbqDynamicTranslationParsedSlot = {
    type: 'text' | 'slot';
    template: TemplateRef<unknown> | null;
    context?: {
        $implicit: unknown;
    };
    text?: string;
};
/**
 * @docs-private
 */
export interface KbqDynamicTranslationHelperSlot {
    name: string;
    tag: string;
    attributes?: {
        key: string;
        value: string;
    }[];
    content?: string;
}
/**
 * Directive for defining a dynamic translation slot.
 */
export declare class KbqDynamicTranslationSlot {
    /**
     * The name of the dynamic translation slot.
     */
    readonly name: import("@angular/core").InputSignal<string>;
    /**
     * @docs-private
     */
    readonly templateRef: TemplateRef<any>;
    static ɵfac: i0.ɵɵFactoryDeclaration<KbqDynamicTranslationSlot, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<KbqDynamicTranslationSlot, "[kbqDynamicTranslationSlot]", never, { "name": { "alias": "kbqDynamicTranslationSlot"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
}
/**
 * Component for dynamic translation.
 */
export declare class KbqDynamicTranslation {
    private readonly slots;
    /**
     * The text which will be translated.
     */
    readonly text: import("@angular/core").InputSignal<string>;
    /**
     * @docs-private
     */
    protected readonly parsedSlots: Signal<KbqDynamicTranslationParsedSlot[]>;
    private parseSlots;
    static ɵfac: i0.ɵɵFactoryDeclaration<KbqDynamicTranslation, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<KbqDynamicTranslation, "kbq-dynamic-translation", never, { "text": { "alias": "text"; "required": true; "isSignal": true; }; }, {}, ["slots"], never, true, never>;
}
/**
 * @docs-private
 */
export declare class KbqDynamicTranslationHelper {
    private readonly renderer;
    private readonly replaceableSlotContainers;
    private readonly slotsByName;
    readonly text: import("@angular/core").InputSignal<string>;
    readonly slots: import("@angular/core").InputSignal<KbqDynamicTranslationHelperSlot[]>;
    constructor();
    private replaceSlots;
    static ɵfac: i0.ɵɵFactoryDeclaration<KbqDynamicTranslationHelper, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<KbqDynamicTranslationHelper, "kbq-dynamic-translation-with-dynamic-component-creation", never, { "text": { "alias": "text"; "required": true; "isSignal": true; }; "slots": { "alias": "slots"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
}
export {};
