export type SecretLintRuleLocaleTag = "en" | "cs" | "de" | "es" | "fr" | "it" | "ja" | "ko" | "pl" | "ru" | "tr" | "zh-CN" | "zh-TW" | string; export type SecretLintRuleLocalizeMessageProps = { [index: string]: any; }; export type SecretLintRuleLocalizeMessageHandler = (props?: Props) => string; export type SecretLintRuleLocalizeMessageMulti = { [P in SecretLintRuleLocaleTag]: SecretLintRuleLocalizeMessageHandler; } & { en(props?: Props): string; }; /** * Rule Messages * * @example * const messages = { * messageId: { * en: (props: { key: string }) => `message ${key}`, * ja: (props: { key: string }) => `メッセージ ${key}` * } * } */ export type SecretLintRuleLocalizeMessages = { [index: string]: SecretLintRuleLocalizeMessageMulti; }; export type SecretLintRuleMessageTranslateResult = { message: string; messageId: string; data: Props | undefined; }; type ValueOf = T[keyof T]; export type SecretLintRuleMessageTranslate>[0] = Parameters>[0]> = (messageId: MessageId, props?: Props) => SecretLintRuleMessageTranslateResult; export type SecretLintCreateRuleMessageTranslator = (messages: T) => SecretLintRuleMessageTranslate; export {}; //# sourceMappingURL=SecretLintRuleTranslator.d.ts.map