import { OnDestroy } from '@angular/core';
import { SafeHtml } from '@angular/platform-browser';
import { PatternMetadata } from './types';
import * as i0 from "@angular/core";
/**
* `val-pattern`
*
* Componente de fondo geométrico inspirado en el sistema Valtech. Renderiza un
* grid de tiles 100×100 con motifs (chevrons, triangles, diamonds, arrows) en
* un SVG inline. Determinista vía `seed` o animado vía `reshuffle`.
*
* Cero dependencias externas — todo SVG.
*
* @example Como fondo de card (CSS absolute):
* ```scss
* .card { position: relative; overflow: hidden; }
* .card val-pattern { position: absolute; inset: 0; z-index: 0; opacity: 0.4; }
* .card .content { position: relative; z-index: 1; }
* ```
*
* ```html
*
* ```
*
* @example Como background animado (hero/login):
* ```html
*
* ```
*/
export declare class PatternComponent implements OnDestroy {
private sanitizer;
private ngZone;
private readonly cols;
private readonly rows;
private readonly seed;
private readonly paletteRef;
private readonly chevronDensity;
private readonly patternStyle;
private readonly preserveAspect;
private readonly animated;
private readonly reshuffleInterval;
private readonly tilesPerTick;
private readonly tileRotation;
private timer?;
set props(value: PatternMetadata | undefined);
/**
* Tiles signal — mutable. Se regenera completa cuando cambia seed/cols/rows/
* palette/density. En modo animated, tiles individuales se sobrescriben sin
* tocar el resto (efecto staggered).
*/
private readonly tiles;
/** SVG completo como string sanitized para `[innerHTML]`. */
readonly svgHtml: import("@angular/core").Signal;
constructor();
/**
* Reemplaza `count` tiles random del grid actual con tiles nuevos generados.
* Usado para staggered reshuffle (opt-in via `tilesPerTick > 0`).
*/
private mutateRandomTiles;
ngOnDestroy(): void;
private resolvePalette;
private randomSeed;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵcmp: i0.ɵɵComponentDeclaration;
}