import * as i0 from '@angular/core';
import { PipeTransform, TemplateRef } from '@angular/core';
import { ZCapitalizeType as ZCapitalizeType$1, ZFormatNumOptions } from '@shival99/z-ui/utils';
import { SafeHtml, SafeResourceUrl } from '@angular/platform-browser';

declare class ZCapitalizePipe implements PipeTransform {
    transform(value: string | null | undefined, type?: ZCapitalizeType$1): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<ZCapitalizePipe, never>;
    static ɵpipe: i0.ɵɵPipeDeclaration<ZCapitalizePipe, "zCapitalize", true>;
}

type ZCapitalizeType = 'all' | 'first' | 'sentence';

type ZContentType = 'string' | 'html' | 'template';

declare class ZContentTypePipe implements PipeTransform {
    transform(value: string | TemplateRef<unknown> | null | undefined): ZContentType;
    private _containsHtml;
    static ɵfac: i0.ɵɵFactoryDeclaration<ZContentTypePipe, never>;
    static ɵpipe: i0.ɵɵPipeDeclaration<ZContentTypePipe, "zContentType", true>;
}

declare class ZFormatNumPipe implements PipeTransform {
    private _zTranslateService;
    transform(value: unknown, options?: ZFormatNumOptions): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<ZFormatNumPipe, never>;
    static ɵpipe: i0.ɵɵPipeDeclaration<ZFormatNumPipe, "zFormatNum", true>;
}

declare class ZHighlightPipe implements PipeTransform {
    transform(value: string, searchText: string, klass?: string): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<ZHighlightPipe, never>;
    static ɵpipe: i0.ɵɵPipeDeclaration<ZHighlightPipe, "zHighlight", true>;
}

declare class ZSafeHtmlPipe implements PipeTransform {
    private _sanitizer;
    transform(value: string | null | undefined): SafeHtml;
    static ɵfac: i0.ɵɵFactoryDeclaration<ZSafeHtmlPipe, never>;
    static ɵpipe: i0.ɵɵPipeDeclaration<ZSafeHtmlPipe, "zSafeHtml", true>;
}

/**
 * Pipe to sanitize URLs for resource contexts (iframe src, video src, etc.)
 *
 * Usage:
 * ```html
 * <iframe [src]="url | zSafeResourceUrl"></iframe>
 * <video [src]="videoUrl | zSafeResourceUrl"></video>
 * ```
 *
 * Note: Only use this pipe with trusted URLs. Do not use with user-provided URLs
 * without proper validation, as it bypasses Angular's security.
 */
declare class ZSafeResourceUrlPipe implements PipeTransform {
    private readonly _sanitizer;
    private readonly _allowedProtocols;
    transform(value: string | null | undefined): SafeResourceUrl | null;
    private _isAllowedResourceUrl;
    static ɵfac: i0.ɵɵFactoryDeclaration<ZSafeResourceUrlPipe, never>;
    static ɵpipe: i0.ɵɵPipeDeclaration<ZSafeResourceUrlPipe, "zSafeResourceUrl", true>;
}

export { ZCapitalizePipe, ZContentTypePipe, ZFormatNumPipe, ZHighlightPipe, ZSafeHtmlPipe, ZSafeResourceUrlPipe };
export type { ZCapitalizeType, ZContentType };
