import { InjectionToken } from '@angular/core';
import { GenericHookType, GenericHookOptions } from '../common/extension-hooks';
export interface PatternMessages {
    [pattern: string]: {
        gettext: string;
        placeholders?: {
            [placeholder: string]: string | any;
        };
    };
}
/**
 * @deprecated Consider using the `hookPatternMessages` function instead.
 */
export declare const HOOK_PATTERN_MESSAGES: InjectionToken<unknown>;
/**
 * You can either provide a single `PatternMessages` as parameter:
 * ```typescript
 *  hookPatternMessages(...)
 * ```
 *
 * Or an array to directly register multiple:
 * ```typescript
 *  hookPatternMessages([...])
 * ```
 *
 * Or you provide an Service that implements `ExtensionFactory<PatternMessages>`
 * ```typescript
 *  export class MyPatternMessagesFactory implements ExtensionFactory<PatternMessages> {...}
 *  ...
 *  hookPatternMessages(MyPatternMessagesFactory)
 * ```
 * A typed alternative to `HOOK_PATTERN_MESSAGES`.
 * @param patterns The `PatternMessages`'s or `ExtensionFactory` to be provided.
 * @returns An `Provider` to be provided in your module.
 */
export declare function hookPatternMessages(patterns: GenericHookType<PatternMessages>, options?: Partial<GenericHookOptions>): import("@angular/core").ValueProvider | import("@angular/core").ClassProvider | import("@angular/core").ExistingProvider;
//# sourceMappingURL=patterns-message.hook.d.ts.map