import { z } from 'zod';
import { ChainMap } from '@hyperlane-xyz/sdk';
import { CommandContext } from '../context/types.js';
declare const MultisigConfigMapSchema: z.ZodObject<{}, "strip", z.ZodObject<{
    threshold: z.ZodNumber;
    validators: z.ZodArray<z.ZodString, "many">;
}, "strip", z.ZodTypeAny, {
    threshold: number;
    validators: string[];
}, {
    threshold: number;
    validators: string[];
}>, z.objectOutputType<{}, z.ZodObject<{
    threshold: z.ZodNumber;
    validators: z.ZodArray<z.ZodString, "many">;
}, "strip", z.ZodTypeAny, {
    threshold: number;
    validators: string[];
}, {
    threshold: number;
    validators: string[];
}>, "strip">, z.objectInputType<{}, z.ZodObject<{
    threshold: z.ZodNumber;
    validators: z.ZodArray<z.ZodString, "many">;
}, "strip", z.ZodTypeAny, {
    threshold: number;
    validators: string[];
}, {
    threshold: number;
    validators: string[];
}>, "strip">>;
export type MultisigConfigMap = z.infer<typeof MultisigConfigMapSchema>;
export declare function readMultisigConfig(filePath: string): ChainMap<Omit<{
    validators: string[];
    threshold: number;
} & {
    type: import("@hyperlane-xyz/sdk").IsmType.MERKLE_ROOT_MULTISIG | import("@hyperlane-xyz/sdk").IsmType.MESSAGE_ID_MULTISIG | import("@hyperlane-xyz/sdk").IsmType.STORAGE_MERKLE_ROOT_MULTISIG | import("@hyperlane-xyz/sdk").IsmType.STORAGE_MESSAGE_ID_MULTISIG;
}, "type">>;
export declare function isValidMultisigConfig(config: any): boolean;
export declare function createMultisigConfig({ context, outPath, }: {
    context: CommandContext;
    outPath: string;
}): Promise<void>;
export {};
//# sourceMappingURL=multisig.d.ts.map