import { type FilterOptions, type TextSegment } from './filter.js'; /** * Base class for an Angular pipe. Extend it and add `@Pipe()` in your app. * * Pure pipes re-run whenever an argument changes by reference, and an options * object literal in a template is a fresh reference on every change-detection * cycle — so the last result is cached by value to keep that cheap. */ export declare class ProfanitySegmentsPipeBase { private lastText; private lastKey; private lastResult; transform(text: string, options?: FilterOptions): TextSegment[]; } /** * Base class for a `boolean` pipe — handy for `*ngIf` guards and form * validation. Extend it and add `@Pipe({ name: 'isProfane' })`. */ export declare class IsProfanePipeBase { private readonly segments; transform(text: string, options?: FilterOptions): boolean; } /** * Plain service class — no `@Injectable()`, so provide it explicitly: * * ```ts * providers: [ * { provide: ProfanityFilter, useFactory: () => new ProfanityFilter({ languages: ['en', 'de'] }) }, * ] * ``` */ export declare class ProfanityFilter { private readonly defaults; constructor(defaults?: FilterOptions); segments(text: string, options?: FilterOptions): TextSegment[]; isProfane(text: string, options?: FilterOptions): boolean; /** Replaces every flagged segment with `mask` repeated to the same length. */ mask(text: string, mask?: string, options?: FilterOptions): string; } export { filterFWordsToSegments } from './filter.js'; export type { FilterOptions, TextSegment } from './filter.js'; export type { Language } from './registry.js'; //# sourceMappingURL=angular.d.ts.map