import * as noUnlocalizedStringsRule from './rules/no-unlocalized-strings';
import * as textRestrictionsRule from './rules/text-restrictions';
import * as requireExplicitIdRule from './rules/require-explicit-id';
import { ESLint, Linter } from 'eslint';
import { RuleModule } from '@typescript-eslint/utils/ts-eslint';
declare const rules: {
    "no-expression-in-message": RuleModule<"default" | "multiplePlaceholders", [], import("./create-rule").ExtraRuleDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
        name: string;
    };
    "no-unlocalized-strings": RuleModule<string, noUnlocalizedStringsRule.Option[], import("./create-rule").ExtraRuleDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
        name: string;
    };
    "no-single-tag-to-translate": RuleModule<"default", [], import("./create-rule").ExtraRuleDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
        name: string;
    };
    "no-single-variables-to-translate": RuleModule<"asJsx" | "asFunction", [], import("./create-rule").ExtraRuleDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
        name: string;
    };
    "t-call-in-function": RuleModule<"default", [], import("./create-rule").ExtraRuleDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
        name: string;
    };
    "text-restrictions": RuleModule<string, textRestrictionsRule.Option[], import("./create-rule").ExtraRuleDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
        name: string;
    };
    "no-trans-inside-trans": RuleModule<"default", [], import("./create-rule").ExtraRuleDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
        name: string;
    };
    "consistent-plural-format": RuleModule<"hashRequired" | "templateRequired", [{
        style?: "hash" | "template";
    }], import("./create-rule").ExtraRuleDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
        name: string;
    };
    "no-plural-inside-trans": RuleModule<"default", [], import("./create-rule").ExtraRuleDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
        name: string;
    };
    "require-explicit-id": RuleModule<string, requireExplicitIdRule.Option[], import("./create-rule").ExtraRuleDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
        name: string;
    };
};
type RuleKey = keyof typeof rules;
interface Plugin extends Omit<ESLint.Plugin, 'rules'> {
    rules: Record<RuleKey, RuleModule<any, any, any>>;
    configs: {
        recommended: ESLint.ConfigData;
        'flat/recommended': Linter.FlatConfig;
    };
}
declare const plugin: {
    meta: {
        name: string;
    };
    configs: Plugin["configs"];
    rules: {
        "no-expression-in-message": RuleModule<"default" | "multiplePlaceholders", [], import("./create-rule").ExtraRuleDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
            name: string;
        };
        "no-unlocalized-strings": RuleModule<string, noUnlocalizedStringsRule.Option[], import("./create-rule").ExtraRuleDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
            name: string;
        };
        "no-single-tag-to-translate": RuleModule<"default", [], import("./create-rule").ExtraRuleDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
            name: string;
        };
        "no-single-variables-to-translate": RuleModule<"asJsx" | "asFunction", [], import("./create-rule").ExtraRuleDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
            name: string;
        };
        "t-call-in-function": RuleModule<"default", [], import("./create-rule").ExtraRuleDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
            name: string;
        };
        "text-restrictions": RuleModule<string, textRestrictionsRule.Option[], import("./create-rule").ExtraRuleDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
            name: string;
        };
        "no-trans-inside-trans": RuleModule<"default", [], import("./create-rule").ExtraRuleDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
            name: string;
        };
        "consistent-plural-format": RuleModule<"hashRequired" | "templateRequired", [{
            style?: "hash" | "template";
        }], import("./create-rule").ExtraRuleDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
            name: string;
        };
        "no-plural-inside-trans": RuleModule<"default", [], import("./create-rule").ExtraRuleDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
            name: string;
        };
        "require-explicit-id": RuleModule<string, requireExplicitIdRule.Option[], import("./create-rule").ExtraRuleDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
            name: string;
        };
    };
};
export = plugin;
