import { z } from 'zod';
export declare enum EventAssertionType {
    RAW_TOPIC = "rawTopic",
    TOPIC_SIGNATURE = "topicSignature"
}
export declare const EventAssertionSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
    type: z.ZodLiteral<EventAssertionType.RAW_TOPIC>;
    topic: z.ZodString;
    annotation: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    type: EventAssertionType.RAW_TOPIC;
    topic: string;
    annotation?: string | undefined;
}, {
    type: EventAssertionType.RAW_TOPIC;
    topic: string;
    annotation?: string | undefined;
}>, z.ZodObject<{
    type: z.ZodLiteral<EventAssertionType.TOPIC_SIGNATURE>;
    signature: z.ZodString;
    args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    annotation: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    type: EventAssertionType.TOPIC_SIGNATURE;
    signature: string;
    annotation?: string | undefined;
    args?: string[] | undefined;
}, {
    type: EventAssertionType.TOPIC_SIGNATURE;
    signature: string;
    annotation?: string | undefined;
    args?: string[] | undefined;
}>]>;
export type EventAssertion = z.infer<typeof EventAssertionSchema>;
export declare enum RevertAssertionType {
    ESTIMATE_GAS = "estimateGas"
}
export declare const RevertAssertionSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
    type: z.ZodLiteral<RevertAssertionType>;
    reason: z.ZodString;
    annotation: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    type: RevertAssertionType;
    reason: string;
    annotation?: string | undefined;
}, {
    type: RevertAssertionType;
    reason: string;
    annotation?: string | undefined;
}>]>;
export type RevertAssertion = z.infer<typeof RevertAssertionSchema>;
export declare enum TransactionDataType {
    RAW_CALLDATA = "rawCalldata",
    SIGNATURE = "signature"
}
export declare const ForkedChainTransactionConfigSchema: z.ZodObject<{
    annotation: z.ZodOptional<z.ZodString>;
    from: z.ZodString;
    data: z.ZodOptional<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
        type: z.ZodLiteral<TransactionDataType.RAW_CALLDATA>;
        calldata: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        type: TransactionDataType.RAW_CALLDATA;
        calldata: string;
    }, {
        type: TransactionDataType.RAW_CALLDATA;
        calldata: string;
    }>, z.ZodObject<{
        type: z.ZodLiteral<TransactionDataType.SIGNATURE>;
        signature: z.ZodString;
        args: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
    }, "strip", z.ZodTypeAny, {
        type: TransactionDataType.SIGNATURE;
        signature: string;
        args: string[];
    }, {
        type: TransactionDataType.SIGNATURE;
        signature: string;
        args?: string[] | undefined;
    }>]>>;
    value: z.ZodOptional<z.ZodString>;
    to: z.ZodOptional<z.ZodString>;
    timeSkip: z.ZodOptional<z.ZodNumber>;
    eventAssertions: z.ZodDefault<z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
        type: z.ZodLiteral<EventAssertionType.RAW_TOPIC>;
        topic: z.ZodString;
        annotation: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        type: EventAssertionType.RAW_TOPIC;
        topic: string;
        annotation?: string | undefined;
    }, {
        type: EventAssertionType.RAW_TOPIC;
        topic: string;
        annotation?: string | undefined;
    }>, z.ZodObject<{
        type: z.ZodLiteral<EventAssertionType.TOPIC_SIGNATURE>;
        signature: z.ZodString;
        args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        annotation: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        type: EventAssertionType.TOPIC_SIGNATURE;
        signature: string;
        annotation?: string | undefined;
        args?: string[] | undefined;
    }, {
        type: EventAssertionType.TOPIC_SIGNATURE;
        signature: string;
        annotation?: string | undefined;
        args?: string[] | undefined;
    }>]>, "many">>;
    revertAssertion: z.ZodOptional<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
        type: z.ZodLiteral<RevertAssertionType>;
        reason: z.ZodString;
        annotation: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        type: RevertAssertionType;
        reason: string;
        annotation?: string | undefined;
    }, {
        type: RevertAssertionType;
        reason: string;
        annotation?: string | undefined;
    }>]>>;
}, "strip", z.ZodTypeAny, {
    from: string;
    eventAssertions: ({
        type: EventAssertionType.RAW_TOPIC;
        topic: string;
        annotation?: string | undefined;
    } | {
        type: EventAssertionType.TOPIC_SIGNATURE;
        signature: string;
        annotation?: string | undefined;
        args?: string[] | undefined;
    })[];
    value?: string | undefined;
    to?: string | undefined;
    data?: {
        type: TransactionDataType.RAW_CALLDATA;
        calldata: string;
    } | {
        type: TransactionDataType.SIGNATURE;
        signature: string;
        args: string[];
    } | undefined;
    annotation?: string | undefined;
    timeSkip?: number | undefined;
    revertAssertion?: {
        type: RevertAssertionType;
        reason: string;
        annotation?: string | undefined;
    } | undefined;
}, {
    from: string;
    value?: string | undefined;
    to?: string | undefined;
    data?: {
        type: TransactionDataType.RAW_CALLDATA;
        calldata: string;
    } | {
        type: TransactionDataType.SIGNATURE;
        signature: string;
        args?: string[] | undefined;
    } | undefined;
    annotation?: string | undefined;
    timeSkip?: number | undefined;
    eventAssertions?: ({
        type: EventAssertionType.RAW_TOPIC;
        topic: string;
        annotation?: string | undefined;
    } | {
        type: EventAssertionType.TOPIC_SIGNATURE;
        signature: string;
        annotation?: string | undefined;
        args?: string[] | undefined;
    })[] | undefined;
    revertAssertion?: {
        type: RevertAssertionType;
        reason: string;
        annotation?: string | undefined;
    } | undefined;
}>;
export type ForkedChainTransactionConfig = z.infer<typeof ForkedChainTransactionConfigSchema>;
export declare const ForkedChainConfigSchema: z.ZodObject<{
    impersonateAccounts: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
    transactions: z.ZodDefault<z.ZodArray<z.ZodObject<{
        annotation: z.ZodOptional<z.ZodString>;
        from: z.ZodString;
        data: z.ZodOptional<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
            type: z.ZodLiteral<TransactionDataType.RAW_CALLDATA>;
            calldata: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            type: TransactionDataType.RAW_CALLDATA;
            calldata: string;
        }, {
            type: TransactionDataType.RAW_CALLDATA;
            calldata: string;
        }>, z.ZodObject<{
            type: z.ZodLiteral<TransactionDataType.SIGNATURE>;
            signature: z.ZodString;
            args: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
        }, "strip", z.ZodTypeAny, {
            type: TransactionDataType.SIGNATURE;
            signature: string;
            args: string[];
        }, {
            type: TransactionDataType.SIGNATURE;
            signature: string;
            args?: string[] | undefined;
        }>]>>;
        value: z.ZodOptional<z.ZodString>;
        to: z.ZodOptional<z.ZodString>;
        timeSkip: z.ZodOptional<z.ZodNumber>;
        eventAssertions: z.ZodDefault<z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
            type: z.ZodLiteral<EventAssertionType.RAW_TOPIC>;
            topic: z.ZodString;
            annotation: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            type: EventAssertionType.RAW_TOPIC;
            topic: string;
            annotation?: string | undefined;
        }, {
            type: EventAssertionType.RAW_TOPIC;
            topic: string;
            annotation?: string | undefined;
        }>, z.ZodObject<{
            type: z.ZodLiteral<EventAssertionType.TOPIC_SIGNATURE>;
            signature: z.ZodString;
            args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            annotation: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            type: EventAssertionType.TOPIC_SIGNATURE;
            signature: string;
            annotation?: string | undefined;
            args?: string[] | undefined;
        }, {
            type: EventAssertionType.TOPIC_SIGNATURE;
            signature: string;
            annotation?: string | undefined;
            args?: string[] | undefined;
        }>]>, "many">>;
        revertAssertion: z.ZodOptional<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
            type: z.ZodLiteral<RevertAssertionType>;
            reason: z.ZodString;
            annotation: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            type: RevertAssertionType;
            reason: string;
            annotation?: string | undefined;
        }, {
            type: RevertAssertionType;
            reason: string;
            annotation?: string | undefined;
        }>]>>;
    }, "strip", z.ZodTypeAny, {
        from: string;
        eventAssertions: ({
            type: EventAssertionType.RAW_TOPIC;
            topic: string;
            annotation?: string | undefined;
        } | {
            type: EventAssertionType.TOPIC_SIGNATURE;
            signature: string;
            annotation?: string | undefined;
            args?: string[] | undefined;
        })[];
        value?: string | undefined;
        to?: string | undefined;
        data?: {
            type: TransactionDataType.RAW_CALLDATA;
            calldata: string;
        } | {
            type: TransactionDataType.SIGNATURE;
            signature: string;
            args: string[];
        } | undefined;
        annotation?: string | undefined;
        timeSkip?: number | undefined;
        revertAssertion?: {
            type: RevertAssertionType;
            reason: string;
            annotation?: string | undefined;
        } | undefined;
    }, {
        from: string;
        value?: string | undefined;
        to?: string | undefined;
        data?: {
            type: TransactionDataType.RAW_CALLDATA;
            calldata: string;
        } | {
            type: TransactionDataType.SIGNATURE;
            signature: string;
            args?: string[] | undefined;
        } | undefined;
        annotation?: string | undefined;
        timeSkip?: number | undefined;
        eventAssertions?: ({
            type: EventAssertionType.RAW_TOPIC;
            topic: string;
            annotation?: string | undefined;
        } | {
            type: EventAssertionType.TOPIC_SIGNATURE;
            signature: string;
            annotation?: string | undefined;
            args?: string[] | undefined;
        })[] | undefined;
        revertAssertion?: {
            type: RevertAssertionType;
            reason: string;
            annotation?: string | undefined;
        } | undefined;
    }>, "many">>;
}, "strip", z.ZodTypeAny, {
    transactions: {
        from: string;
        eventAssertions: ({
            type: EventAssertionType.RAW_TOPIC;
            topic: string;
            annotation?: string | undefined;
        } | {
            type: EventAssertionType.TOPIC_SIGNATURE;
            signature: string;
            annotation?: string | undefined;
            args?: string[] | undefined;
        })[];
        value?: string | undefined;
        to?: string | undefined;
        data?: {
            type: TransactionDataType.RAW_CALLDATA;
            calldata: string;
        } | {
            type: TransactionDataType.SIGNATURE;
            signature: string;
            args: string[];
        } | undefined;
        annotation?: string | undefined;
        timeSkip?: number | undefined;
        revertAssertion?: {
            type: RevertAssertionType;
            reason: string;
            annotation?: string | undefined;
        } | undefined;
    }[];
    impersonateAccounts: string[];
}, {
    transactions?: {
        from: string;
        value?: string | undefined;
        to?: string | undefined;
        data?: {
            type: TransactionDataType.RAW_CALLDATA;
            calldata: string;
        } | {
            type: TransactionDataType.SIGNATURE;
            signature: string;
            args?: string[] | undefined;
        } | undefined;
        annotation?: string | undefined;
        timeSkip?: number | undefined;
        eventAssertions?: ({
            type: EventAssertionType.RAW_TOPIC;
            topic: string;
            annotation?: string | undefined;
        } | {
            type: EventAssertionType.TOPIC_SIGNATURE;
            signature: string;
            annotation?: string | undefined;
            args?: string[] | undefined;
        })[] | undefined;
        revertAssertion?: {
            type: RevertAssertionType;
            reason: string;
            annotation?: string | undefined;
        } | undefined;
    }[] | undefined;
    impersonateAccounts?: string[] | undefined;
}>;
export type ForkedChainConfig = z.infer<typeof ForkedChainConfigSchema>;
export declare const ForkedChainConfigByChainSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
    impersonateAccounts: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
    transactions: z.ZodDefault<z.ZodArray<z.ZodObject<{
        annotation: z.ZodOptional<z.ZodString>;
        from: z.ZodString;
        data: z.ZodOptional<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
            type: z.ZodLiteral<TransactionDataType.RAW_CALLDATA>;
            calldata: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            type: TransactionDataType.RAW_CALLDATA;
            calldata: string;
        }, {
            type: TransactionDataType.RAW_CALLDATA;
            calldata: string;
        }>, z.ZodObject<{
            type: z.ZodLiteral<TransactionDataType.SIGNATURE>;
            signature: z.ZodString;
            args: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
        }, "strip", z.ZodTypeAny, {
            type: TransactionDataType.SIGNATURE;
            signature: string;
            args: string[];
        }, {
            type: TransactionDataType.SIGNATURE;
            signature: string;
            args?: string[] | undefined;
        }>]>>;
        value: z.ZodOptional<z.ZodString>;
        to: z.ZodOptional<z.ZodString>;
        timeSkip: z.ZodOptional<z.ZodNumber>;
        eventAssertions: z.ZodDefault<z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
            type: z.ZodLiteral<EventAssertionType.RAW_TOPIC>;
            topic: z.ZodString;
            annotation: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            type: EventAssertionType.RAW_TOPIC;
            topic: string;
            annotation?: string | undefined;
        }, {
            type: EventAssertionType.RAW_TOPIC;
            topic: string;
            annotation?: string | undefined;
        }>, z.ZodObject<{
            type: z.ZodLiteral<EventAssertionType.TOPIC_SIGNATURE>;
            signature: z.ZodString;
            args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            annotation: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            type: EventAssertionType.TOPIC_SIGNATURE;
            signature: string;
            annotation?: string | undefined;
            args?: string[] | undefined;
        }, {
            type: EventAssertionType.TOPIC_SIGNATURE;
            signature: string;
            annotation?: string | undefined;
            args?: string[] | undefined;
        }>]>, "many">>;
        revertAssertion: z.ZodOptional<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
            type: z.ZodLiteral<RevertAssertionType>;
            reason: z.ZodString;
            annotation: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            type: RevertAssertionType;
            reason: string;
            annotation?: string | undefined;
        }, {
            type: RevertAssertionType;
            reason: string;
            annotation?: string | undefined;
        }>]>>;
    }, "strip", z.ZodTypeAny, {
        from: string;
        eventAssertions: ({
            type: EventAssertionType.RAW_TOPIC;
            topic: string;
            annotation?: string | undefined;
        } | {
            type: EventAssertionType.TOPIC_SIGNATURE;
            signature: string;
            annotation?: string | undefined;
            args?: string[] | undefined;
        })[];
        value?: string | undefined;
        to?: string | undefined;
        data?: {
            type: TransactionDataType.RAW_CALLDATA;
            calldata: string;
        } | {
            type: TransactionDataType.SIGNATURE;
            signature: string;
            args: string[];
        } | undefined;
        annotation?: string | undefined;
        timeSkip?: number | undefined;
        revertAssertion?: {
            type: RevertAssertionType;
            reason: string;
            annotation?: string | undefined;
        } | undefined;
    }, {
        from: string;
        value?: string | undefined;
        to?: string | undefined;
        data?: {
            type: TransactionDataType.RAW_CALLDATA;
            calldata: string;
        } | {
            type: TransactionDataType.SIGNATURE;
            signature: string;
            args?: string[] | undefined;
        } | undefined;
        annotation?: string | undefined;
        timeSkip?: number | undefined;
        eventAssertions?: ({
            type: EventAssertionType.RAW_TOPIC;
            topic: string;
            annotation?: string | undefined;
        } | {
            type: EventAssertionType.TOPIC_SIGNATURE;
            signature: string;
            annotation?: string | undefined;
            args?: string[] | undefined;
        })[] | undefined;
        revertAssertion?: {
            type: RevertAssertionType;
            reason: string;
            annotation?: string | undefined;
        } | undefined;
    }>, "many">>;
}, "strip", z.ZodTypeAny, {
    transactions: {
        from: string;
        eventAssertions: ({
            type: EventAssertionType.RAW_TOPIC;
            topic: string;
            annotation?: string | undefined;
        } | {
            type: EventAssertionType.TOPIC_SIGNATURE;
            signature: string;
            annotation?: string | undefined;
            args?: string[] | undefined;
        })[];
        value?: string | undefined;
        to?: string | undefined;
        data?: {
            type: TransactionDataType.RAW_CALLDATA;
            calldata: string;
        } | {
            type: TransactionDataType.SIGNATURE;
            signature: string;
            args: string[];
        } | undefined;
        annotation?: string | undefined;
        timeSkip?: number | undefined;
        revertAssertion?: {
            type: RevertAssertionType;
            reason: string;
            annotation?: string | undefined;
        } | undefined;
    }[];
    impersonateAccounts: string[];
}, {
    transactions?: {
        from: string;
        value?: string | undefined;
        to?: string | undefined;
        data?: {
            type: TransactionDataType.RAW_CALLDATA;
            calldata: string;
        } | {
            type: TransactionDataType.SIGNATURE;
            signature: string;
            args?: string[] | undefined;
        } | undefined;
        annotation?: string | undefined;
        timeSkip?: number | undefined;
        eventAssertions?: ({
            type: EventAssertionType.RAW_TOPIC;
            topic: string;
            annotation?: string | undefined;
        } | {
            type: EventAssertionType.TOPIC_SIGNATURE;
            signature: string;
            annotation?: string | undefined;
            args?: string[] | undefined;
        })[] | undefined;
        revertAssertion?: {
            type: RevertAssertionType;
            reason: string;
            annotation?: string | undefined;
        } | undefined;
    }[] | undefined;
    impersonateAccounts?: string[] | undefined;
}>>;
export type ForkedChainConfigByChain = z.infer<typeof ForkedChainConfigByChainSchema>;
export declare enum TransactionConfigType {
    RAW_TRANSACTION = "rawTransaction",
    FILE = "file"
}
export declare const RawForkedChainTransactionConfigSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
    type: z.ZodLiteral<TransactionConfigType.RAW_TRANSACTION>;
    transactions: z.ZodArray<z.ZodObject<{
        annotation: z.ZodOptional<z.ZodString>;
        from: z.ZodString;
        data: z.ZodOptional<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
            type: z.ZodLiteral<TransactionDataType.RAW_CALLDATA>;
            calldata: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            type: TransactionDataType.RAW_CALLDATA;
            calldata: string;
        }, {
            type: TransactionDataType.RAW_CALLDATA;
            calldata: string;
        }>, z.ZodObject<{
            type: z.ZodLiteral<TransactionDataType.SIGNATURE>;
            signature: z.ZodString;
            args: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
        }, "strip", z.ZodTypeAny, {
            type: TransactionDataType.SIGNATURE;
            signature: string;
            args: string[];
        }, {
            type: TransactionDataType.SIGNATURE;
            signature: string;
            args?: string[] | undefined;
        }>]>>;
        value: z.ZodOptional<z.ZodString>;
        to: z.ZodOptional<z.ZodString>;
        timeSkip: z.ZodOptional<z.ZodNumber>;
        eventAssertions: z.ZodDefault<z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
            type: z.ZodLiteral<EventAssertionType.RAW_TOPIC>;
            topic: z.ZodString;
            annotation: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            type: EventAssertionType.RAW_TOPIC;
            topic: string;
            annotation?: string | undefined;
        }, {
            type: EventAssertionType.RAW_TOPIC;
            topic: string;
            annotation?: string | undefined;
        }>, z.ZodObject<{
            type: z.ZodLiteral<EventAssertionType.TOPIC_SIGNATURE>;
            signature: z.ZodString;
            args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            annotation: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            type: EventAssertionType.TOPIC_SIGNATURE;
            signature: string;
            annotation?: string | undefined;
            args?: string[] | undefined;
        }, {
            type: EventAssertionType.TOPIC_SIGNATURE;
            signature: string;
            annotation?: string | undefined;
            args?: string[] | undefined;
        }>]>, "many">>;
        revertAssertion: z.ZodOptional<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
            type: z.ZodLiteral<RevertAssertionType>;
            reason: z.ZodString;
            annotation: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            type: RevertAssertionType;
            reason: string;
            annotation?: string | undefined;
        }, {
            type: RevertAssertionType;
            reason: string;
            annotation?: string | undefined;
        }>]>>;
    }, "strip", z.ZodTypeAny, {
        from: string;
        eventAssertions: ({
            type: EventAssertionType.RAW_TOPIC;
            topic: string;
            annotation?: string | undefined;
        } | {
            type: EventAssertionType.TOPIC_SIGNATURE;
            signature: string;
            annotation?: string | undefined;
            args?: string[] | undefined;
        })[];
        value?: string | undefined;
        to?: string | undefined;
        data?: {
            type: TransactionDataType.RAW_CALLDATA;
            calldata: string;
        } | {
            type: TransactionDataType.SIGNATURE;
            signature: string;
            args: string[];
        } | undefined;
        annotation?: string | undefined;
        timeSkip?: number | undefined;
        revertAssertion?: {
            type: RevertAssertionType;
            reason: string;
            annotation?: string | undefined;
        } | undefined;
    }, {
        from: string;
        value?: string | undefined;
        to?: string | undefined;
        data?: {
            type: TransactionDataType.RAW_CALLDATA;
            calldata: string;
        } | {
            type: TransactionDataType.SIGNATURE;
            signature: string;
            args?: string[] | undefined;
        } | undefined;
        annotation?: string | undefined;
        timeSkip?: number | undefined;
        eventAssertions?: ({
            type: EventAssertionType.RAW_TOPIC;
            topic: string;
            annotation?: string | undefined;
        } | {
            type: EventAssertionType.TOPIC_SIGNATURE;
            signature: string;
            annotation?: string | undefined;
            args?: string[] | undefined;
        })[] | undefined;
        revertAssertion?: {
            type: RevertAssertionType;
            reason: string;
            annotation?: string | undefined;
        } | undefined;
    }>, "many">;
}, "strip", z.ZodTypeAny, {
    type: TransactionConfigType.RAW_TRANSACTION;
    transactions: {
        from: string;
        eventAssertions: ({
            type: EventAssertionType.RAW_TOPIC;
            topic: string;
            annotation?: string | undefined;
        } | {
            type: EventAssertionType.TOPIC_SIGNATURE;
            signature: string;
            annotation?: string | undefined;
            args?: string[] | undefined;
        })[];
        value?: string | undefined;
        to?: string | undefined;
        data?: {
            type: TransactionDataType.RAW_CALLDATA;
            calldata: string;
        } | {
            type: TransactionDataType.SIGNATURE;
            signature: string;
            args: string[];
        } | undefined;
        annotation?: string | undefined;
        timeSkip?: number | undefined;
        revertAssertion?: {
            type: RevertAssertionType;
            reason: string;
            annotation?: string | undefined;
        } | undefined;
    }[];
}, {
    type: TransactionConfigType.RAW_TRANSACTION;
    transactions: {
        from: string;
        value?: string | undefined;
        to?: string | undefined;
        data?: {
            type: TransactionDataType.RAW_CALLDATA;
            calldata: string;
        } | {
            type: TransactionDataType.SIGNATURE;
            signature: string;
            args?: string[] | undefined;
        } | undefined;
        annotation?: string | undefined;
        timeSkip?: number | undefined;
        eventAssertions?: ({
            type: EventAssertionType.RAW_TOPIC;
            topic: string;
            annotation?: string | undefined;
        } | {
            type: EventAssertionType.TOPIC_SIGNATURE;
            signature: string;
            annotation?: string | undefined;
            args?: string[] | undefined;
        })[] | undefined;
        revertAssertion?: {
            type: RevertAssertionType;
            reason: string;
            annotation?: string | undefined;
        } | undefined;
    }[];
}>, z.ZodObject<{
    type: z.ZodLiteral<TransactionConfigType.FILE>;
    path: z.ZodString;
    defaultSender: z.ZodString;
    overrides: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
        annotation: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        from: z.ZodOptional<z.ZodString>;
        data: z.ZodOptional<z.ZodOptional<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
            type: z.ZodLiteral<TransactionDataType.RAW_CALLDATA>;
            calldata: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            type: TransactionDataType.RAW_CALLDATA;
            calldata: string;
        }, {
            type: TransactionDataType.RAW_CALLDATA;
            calldata: string;
        }>, z.ZodObject<{
            type: z.ZodLiteral<TransactionDataType.SIGNATURE>;
            signature: z.ZodString;
            args: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
        }, "strip", z.ZodTypeAny, {
            type: TransactionDataType.SIGNATURE;
            signature: string;
            args: string[];
        }, {
            type: TransactionDataType.SIGNATURE;
            signature: string;
            args?: string[] | undefined;
        }>]>>>;
        value: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        to: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        timeSkip: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        eventAssertions: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
            type: z.ZodLiteral<EventAssertionType.RAW_TOPIC>;
            topic: z.ZodString;
            annotation: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            type: EventAssertionType.RAW_TOPIC;
            topic: string;
            annotation?: string | undefined;
        }, {
            type: EventAssertionType.RAW_TOPIC;
            topic: string;
            annotation?: string | undefined;
        }>, z.ZodObject<{
            type: z.ZodLiteral<EventAssertionType.TOPIC_SIGNATURE>;
            signature: z.ZodString;
            args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            annotation: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            type: EventAssertionType.TOPIC_SIGNATURE;
            signature: string;
            annotation?: string | undefined;
            args?: string[] | undefined;
        }, {
            type: EventAssertionType.TOPIC_SIGNATURE;
            signature: string;
            annotation?: string | undefined;
            args?: string[] | undefined;
        }>]>, "many">>>;
        revertAssertion: z.ZodOptional<z.ZodOptional<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
            type: z.ZodLiteral<RevertAssertionType>;
            reason: z.ZodString;
            annotation: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            type: RevertAssertionType;
            reason: string;
            annotation?: string | undefined;
        }, {
            type: RevertAssertionType;
            reason: string;
            annotation?: string | undefined;
        }>]>>>;
    }, "strip", z.ZodTypeAny, {
        value?: string | undefined;
        to?: string | undefined;
        data?: {
            type: TransactionDataType.RAW_CALLDATA;
            calldata: string;
        } | {
            type: TransactionDataType.SIGNATURE;
            signature: string;
            args: string[];
        } | undefined;
        from?: string | undefined;
        annotation?: string | undefined;
        timeSkip?: number | undefined;
        eventAssertions?: ({
            type: EventAssertionType.RAW_TOPIC;
            topic: string;
            annotation?: string | undefined;
        } | {
            type: EventAssertionType.TOPIC_SIGNATURE;
            signature: string;
            annotation?: string | undefined;
            args?: string[] | undefined;
        })[] | undefined;
        revertAssertion?: {
            type: RevertAssertionType;
            reason: string;
            annotation?: string | undefined;
        } | undefined;
    }, {
        value?: string | undefined;
        to?: string | undefined;
        data?: {
            type: TransactionDataType.RAW_CALLDATA;
            calldata: string;
        } | {
            type: TransactionDataType.SIGNATURE;
            signature: string;
            args?: string[] | undefined;
        } | undefined;
        from?: string | undefined;
        annotation?: string | undefined;
        timeSkip?: number | undefined;
        eventAssertions?: ({
            type: EventAssertionType.RAW_TOPIC;
            topic: string;
            annotation?: string | undefined;
        } | {
            type: EventAssertionType.TOPIC_SIGNATURE;
            signature: string;
            annotation?: string | undefined;
            args?: string[] | undefined;
        })[] | undefined;
        revertAssertion?: {
            type: RevertAssertionType;
            reason: string;
            annotation?: string | undefined;
        } | undefined;
    }>>>;
}, "strip", z.ZodTypeAny, {
    path: string;
    type: TransactionConfigType.FILE;
    defaultSender: string;
    overrides: Record<string, {
        value?: string | undefined;
        to?: string | undefined;
        data?: {
            type: TransactionDataType.RAW_CALLDATA;
            calldata: string;
        } | {
            type: TransactionDataType.SIGNATURE;
            signature: string;
            args: string[];
        } | undefined;
        from?: string | undefined;
        annotation?: string | undefined;
        timeSkip?: number | undefined;
        eventAssertions?: ({
            type: EventAssertionType.RAW_TOPIC;
            topic: string;
            annotation?: string | undefined;
        } | {
            type: EventAssertionType.TOPIC_SIGNATURE;
            signature: string;
            annotation?: string | undefined;
            args?: string[] | undefined;
        })[] | undefined;
        revertAssertion?: {
            type: RevertAssertionType;
            reason: string;
            annotation?: string | undefined;
        } | undefined;
    }>;
}, {
    path: string;
    type: TransactionConfigType.FILE;
    defaultSender: string;
    overrides?: Record<string, {
        value?: string | undefined;
        to?: string | undefined;
        data?: {
            type: TransactionDataType.RAW_CALLDATA;
            calldata: string;
        } | {
            type: TransactionDataType.SIGNATURE;
            signature: string;
            args?: string[] | undefined;
        } | undefined;
        from?: string | undefined;
        annotation?: string | undefined;
        timeSkip?: number | undefined;
        eventAssertions?: ({
            type: EventAssertionType.RAW_TOPIC;
            topic: string;
            annotation?: string | undefined;
        } | {
            type: EventAssertionType.TOPIC_SIGNATURE;
            signature: string;
            annotation?: string | undefined;
            args?: string[] | undefined;
        })[] | undefined;
        revertAssertion?: {
            type: RevertAssertionType;
            reason: string;
            annotation?: string | undefined;
        } | undefined;
    }> | undefined;
}>]>;
export type RawForkedChainTransactionConfig = z.infer<typeof RawForkedChainTransactionConfigSchema>;
export declare const RawForkedChainConfigSchema: z.ZodObject<{
    impersonateAccounts: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
    transactions: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
        type: z.ZodLiteral<TransactionConfigType.RAW_TRANSACTION>;
        transactions: z.ZodArray<z.ZodObject<{
            annotation: z.ZodOptional<z.ZodString>;
            from: z.ZodString;
            data: z.ZodOptional<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
                type: z.ZodLiteral<TransactionDataType.RAW_CALLDATA>;
                calldata: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                type: TransactionDataType.RAW_CALLDATA;
                calldata: string;
            }, {
                type: TransactionDataType.RAW_CALLDATA;
                calldata: string;
            }>, z.ZodObject<{
                type: z.ZodLiteral<TransactionDataType.SIGNATURE>;
                signature: z.ZodString;
                args: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
            }, "strip", z.ZodTypeAny, {
                type: TransactionDataType.SIGNATURE;
                signature: string;
                args: string[];
            }, {
                type: TransactionDataType.SIGNATURE;
                signature: string;
                args?: string[] | undefined;
            }>]>>;
            value: z.ZodOptional<z.ZodString>;
            to: z.ZodOptional<z.ZodString>;
            timeSkip: z.ZodOptional<z.ZodNumber>;
            eventAssertions: z.ZodDefault<z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
                type: z.ZodLiteral<EventAssertionType.RAW_TOPIC>;
                topic: z.ZodString;
                annotation: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                type: EventAssertionType.RAW_TOPIC;
                topic: string;
                annotation?: string | undefined;
            }, {
                type: EventAssertionType.RAW_TOPIC;
                topic: string;
                annotation?: string | undefined;
            }>, z.ZodObject<{
                type: z.ZodLiteral<EventAssertionType.TOPIC_SIGNATURE>;
                signature: z.ZodString;
                args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                annotation: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                type: EventAssertionType.TOPIC_SIGNATURE;
                signature: string;
                annotation?: string | undefined;
                args?: string[] | undefined;
            }, {
                type: EventAssertionType.TOPIC_SIGNATURE;
                signature: string;
                annotation?: string | undefined;
                args?: string[] | undefined;
            }>]>, "many">>;
            revertAssertion: z.ZodOptional<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
                type: z.ZodLiteral<RevertAssertionType>;
                reason: z.ZodString;
                annotation: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                type: RevertAssertionType;
                reason: string;
                annotation?: string | undefined;
            }, {
                type: RevertAssertionType;
                reason: string;
                annotation?: string | undefined;
            }>]>>;
        }, "strip", z.ZodTypeAny, {
            from: string;
            eventAssertions: ({
                type: EventAssertionType.RAW_TOPIC;
                topic: string;
                annotation?: string | undefined;
            } | {
                type: EventAssertionType.TOPIC_SIGNATURE;
                signature: string;
                annotation?: string | undefined;
                args?: string[] | undefined;
            })[];
            value?: string | undefined;
            to?: string | undefined;
            data?: {
                type: TransactionDataType.RAW_CALLDATA;
                calldata: string;
            } | {
                type: TransactionDataType.SIGNATURE;
                signature: string;
                args: string[];
            } | undefined;
            annotation?: string | undefined;
            timeSkip?: number | undefined;
            revertAssertion?: {
                type: RevertAssertionType;
                reason: string;
                annotation?: string | undefined;
            } | undefined;
        }, {
            from: string;
            value?: string | undefined;
            to?: string | undefined;
            data?: {
                type: TransactionDataType.RAW_CALLDATA;
                calldata: string;
            } | {
                type: TransactionDataType.SIGNATURE;
                signature: string;
                args?: string[] | undefined;
            } | undefined;
            annotation?: string | undefined;
            timeSkip?: number | undefined;
            eventAssertions?: ({
                type: EventAssertionType.RAW_TOPIC;
                topic: string;
                annotation?: string | undefined;
            } | {
                type: EventAssertionType.TOPIC_SIGNATURE;
                signature: string;
                annotation?: string | undefined;
                args?: string[] | undefined;
            })[] | undefined;
            revertAssertion?: {
                type: RevertAssertionType;
                reason: string;
                annotation?: string | undefined;
            } | undefined;
        }>, "many">;
    }, "strip", z.ZodTypeAny, {
        type: TransactionConfigType.RAW_TRANSACTION;
        transactions: {
            from: string;
            eventAssertions: ({
                type: EventAssertionType.RAW_TOPIC;
                topic: string;
                annotation?: string | undefined;
            } | {
                type: EventAssertionType.TOPIC_SIGNATURE;
                signature: string;
                annotation?: string | undefined;
                args?: string[] | undefined;
            })[];
            value?: string | undefined;
            to?: string | undefined;
            data?: {
                type: TransactionDataType.RAW_CALLDATA;
                calldata: string;
            } | {
                type: TransactionDataType.SIGNATURE;
                signature: string;
                args: string[];
            } | undefined;
            annotation?: string | undefined;
            timeSkip?: number | undefined;
            revertAssertion?: {
                type: RevertAssertionType;
                reason: string;
                annotation?: string | undefined;
            } | undefined;
        }[];
    }, {
        type: TransactionConfigType.RAW_TRANSACTION;
        transactions: {
            from: string;
            value?: string | undefined;
            to?: string | undefined;
            data?: {
                type: TransactionDataType.RAW_CALLDATA;
                calldata: string;
            } | {
                type: TransactionDataType.SIGNATURE;
                signature: string;
                args?: string[] | undefined;
            } | undefined;
            annotation?: string | undefined;
            timeSkip?: number | undefined;
            eventAssertions?: ({
                type: EventAssertionType.RAW_TOPIC;
                topic: string;
                annotation?: string | undefined;
            } | {
                type: EventAssertionType.TOPIC_SIGNATURE;
                signature: string;
                annotation?: string | undefined;
                args?: string[] | undefined;
            })[] | undefined;
            revertAssertion?: {
                type: RevertAssertionType;
                reason: string;
                annotation?: string | undefined;
            } | undefined;
        }[];
    }>, z.ZodObject<{
        type: z.ZodLiteral<TransactionConfigType.FILE>;
        path: z.ZodString;
        defaultSender: z.ZodString;
        overrides: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
            annotation: z.ZodOptional<z.ZodOptional<z.ZodString>>;
            from: z.ZodOptional<z.ZodString>;
            data: z.ZodOptional<z.ZodOptional<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
                type: z.ZodLiteral<TransactionDataType.RAW_CALLDATA>;
                calldata: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                type: TransactionDataType.RAW_CALLDATA;
                calldata: string;
            }, {
                type: TransactionDataType.RAW_CALLDATA;
                calldata: string;
            }>, z.ZodObject<{
                type: z.ZodLiteral<TransactionDataType.SIGNATURE>;
                signature: z.ZodString;
                args: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
            }, "strip", z.ZodTypeAny, {
                type: TransactionDataType.SIGNATURE;
                signature: string;
                args: string[];
            }, {
                type: TransactionDataType.SIGNATURE;
                signature: string;
                args?: string[] | undefined;
            }>]>>>;
            value: z.ZodOptional<z.ZodOptional<z.ZodString>>;
            to: z.ZodOptional<z.ZodOptional<z.ZodString>>;
            timeSkip: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
            eventAssertions: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
                type: z.ZodLiteral<EventAssertionType.RAW_TOPIC>;
                topic: z.ZodString;
                annotation: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                type: EventAssertionType.RAW_TOPIC;
                topic: string;
                annotation?: string | undefined;
            }, {
                type: EventAssertionType.RAW_TOPIC;
                topic: string;
                annotation?: string | undefined;
            }>, z.ZodObject<{
                type: z.ZodLiteral<EventAssertionType.TOPIC_SIGNATURE>;
                signature: z.ZodString;
                args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                annotation: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                type: EventAssertionType.TOPIC_SIGNATURE;
                signature: string;
                annotation?: string | undefined;
                args?: string[] | undefined;
            }, {
                type: EventAssertionType.TOPIC_SIGNATURE;
                signature: string;
                annotation?: string | undefined;
                args?: string[] | undefined;
            }>]>, "many">>>;
            revertAssertion: z.ZodOptional<z.ZodOptional<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
                type: z.ZodLiteral<RevertAssertionType>;
                reason: z.ZodString;
                annotation: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                type: RevertAssertionType;
                reason: string;
                annotation?: string | undefined;
            }, {
                type: RevertAssertionType;
                reason: string;
                annotation?: string | undefined;
            }>]>>>;
        }, "strip", z.ZodTypeAny, {
            value?: string | undefined;
            to?: string | undefined;
            data?: {
                type: TransactionDataType.RAW_CALLDATA;
                calldata: string;
            } | {
                type: TransactionDataType.SIGNATURE;
                signature: string;
                args: string[];
            } | undefined;
            from?: string | undefined;
            annotation?: string | undefined;
            timeSkip?: number | undefined;
            eventAssertions?: ({
                type: EventAssertionType.RAW_TOPIC;
                topic: string;
                annotation?: string | undefined;
            } | {
                type: EventAssertionType.TOPIC_SIGNATURE;
                signature: string;
                annotation?: string | undefined;
                args?: string[] | undefined;
            })[] | undefined;
            revertAssertion?: {
                type: RevertAssertionType;
                reason: string;
                annotation?: string | undefined;
            } | undefined;
        }, {
            value?: string | undefined;
            to?: string | undefined;
            data?: {
                type: TransactionDataType.RAW_CALLDATA;
                calldata: string;
            } | {
                type: TransactionDataType.SIGNATURE;
                signature: string;
                args?: string[] | undefined;
            } | undefined;
            from?: string | undefined;
            annotation?: string | undefined;
            timeSkip?: number | undefined;
            eventAssertions?: ({
                type: EventAssertionType.RAW_TOPIC;
                topic: string;
                annotation?: string | undefined;
            } | {
                type: EventAssertionType.TOPIC_SIGNATURE;
                signature: string;
                annotation?: string | undefined;
                args?: string[] | undefined;
            })[] | undefined;
            revertAssertion?: {
                type: RevertAssertionType;
                reason: string;
                annotation?: string | undefined;
            } | undefined;
        }>>>;
    }, "strip", z.ZodTypeAny, {
        path: string;
        type: TransactionConfigType.FILE;
        defaultSender: string;
        overrides: Record<string, {
            value?: string | undefined;
            to?: string | undefined;
            data?: {
                type: TransactionDataType.RAW_CALLDATA;
                calldata: string;
            } | {
                type: TransactionDataType.SIGNATURE;
                signature: string;
                args: string[];
            } | undefined;
            from?: string | undefined;
            annotation?: string | undefined;
            timeSkip?: number | undefined;
            eventAssertions?: ({
                type: EventAssertionType.RAW_TOPIC;
                topic: string;
                annotation?: string | undefined;
            } | {
                type: EventAssertionType.TOPIC_SIGNATURE;
                signature: string;
                annotation?: string | undefined;
                args?: string[] | undefined;
            })[] | undefined;
            revertAssertion?: {
                type: RevertAssertionType;
                reason: string;
                annotation?: string | undefined;
            } | undefined;
        }>;
    }, {
        path: string;
        type: TransactionConfigType.FILE;
        defaultSender: string;
        overrides?: Record<string, {
            value?: string | undefined;
            to?: string | undefined;
            data?: {
                type: TransactionDataType.RAW_CALLDATA;
                calldata: string;
            } | {
                type: TransactionDataType.SIGNATURE;
                signature: string;
                args?: string[] | undefined;
            } | undefined;
            from?: string | undefined;
            annotation?: string | undefined;
            timeSkip?: number | undefined;
            eventAssertions?: ({
                type: EventAssertionType.RAW_TOPIC;
                topic: string;
                annotation?: string | undefined;
            } | {
                type: EventAssertionType.TOPIC_SIGNATURE;
                signature: string;
                annotation?: string | undefined;
                args?: string[] | undefined;
            })[] | undefined;
            revertAssertion?: {
                type: RevertAssertionType;
                reason: string;
                annotation?: string | undefined;
            } | undefined;
        }> | undefined;
    }>]>, "many">;
}, "strip", z.ZodTypeAny, {
    transactions: ({
        type: TransactionConfigType.RAW_TRANSACTION;
        transactions: {
            from: string;
            eventAssertions: ({
                type: EventAssertionType.RAW_TOPIC;
                topic: string;
                annotation?: string | undefined;
            } | {
                type: EventAssertionType.TOPIC_SIGNATURE;
                signature: string;
                annotation?: string | undefined;
                args?: string[] | undefined;
            })[];
            value?: string | undefined;
            to?: string | undefined;
            data?: {
                type: TransactionDataType.RAW_CALLDATA;
                calldata: string;
            } | {
                type: TransactionDataType.SIGNATURE;
                signature: string;
                args: string[];
            } | undefined;
            annotation?: string | undefined;
            timeSkip?: number | undefined;
            revertAssertion?: {
                type: RevertAssertionType;
                reason: string;
                annotation?: string | undefined;
            } | undefined;
        }[];
    } | {
        path: string;
        type: TransactionConfigType.FILE;
        defaultSender: string;
        overrides: Record<string, {
            value?: string | undefined;
            to?: string | undefined;
            data?: {
                type: TransactionDataType.RAW_CALLDATA;
                calldata: string;
            } | {
                type: TransactionDataType.SIGNATURE;
                signature: string;
                args: string[];
            } | undefined;
            from?: string | undefined;
            annotation?: string | undefined;
            timeSkip?: number | undefined;
            eventAssertions?: ({
                type: EventAssertionType.RAW_TOPIC;
                topic: string;
                annotation?: string | undefined;
            } | {
                type: EventAssertionType.TOPIC_SIGNATURE;
                signature: string;
                annotation?: string | undefined;
                args?: string[] | undefined;
            })[] | undefined;
            revertAssertion?: {
                type: RevertAssertionType;
                reason: string;
                annotation?: string | undefined;
            } | undefined;
        }>;
    })[];
    impersonateAccounts: string[];
}, {
    transactions: ({
        type: TransactionConfigType.RAW_TRANSACTION;
        transactions: {
            from: string;
            value?: string | undefined;
            to?: string | undefined;
            data?: {
                type: TransactionDataType.RAW_CALLDATA;
                calldata: string;
            } | {
                type: TransactionDataType.SIGNATURE;
                signature: string;
                args?: string[] | undefined;
            } | undefined;
            annotation?: string | undefined;
            timeSkip?: number | undefined;
            eventAssertions?: ({
                type: EventAssertionType.RAW_TOPIC;
                topic: string;
                annotation?: string | undefined;
            } | {
                type: EventAssertionType.TOPIC_SIGNATURE;
                signature: string;
                annotation?: string | undefined;
                args?: string[] | undefined;
            })[] | undefined;
            revertAssertion?: {
                type: RevertAssertionType;
                reason: string;
                annotation?: string | undefined;
            } | undefined;
        }[];
    } | {
        path: string;
        type: TransactionConfigType.FILE;
        defaultSender: string;
        overrides?: Record<string, {
            value?: string | undefined;
            to?: string | undefined;
            data?: {
                type: TransactionDataType.RAW_CALLDATA;
                calldata: string;
            } | {
                type: TransactionDataType.SIGNATURE;
                signature: string;
                args?: string[] | undefined;
            } | undefined;
            from?: string | undefined;
            annotation?: string | undefined;
            timeSkip?: number | undefined;
            eventAssertions?: ({
                type: EventAssertionType.RAW_TOPIC;
                topic: string;
                annotation?: string | undefined;
            } | {
                type: EventAssertionType.TOPIC_SIGNATURE;
                signature: string;
                annotation?: string | undefined;
                args?: string[] | undefined;
            })[] | undefined;
            revertAssertion?: {
                type: RevertAssertionType;
                reason: string;
                annotation?: string | undefined;
            } | undefined;
        }> | undefined;
    })[];
    impersonateAccounts?: string[] | undefined;
}>;
export type RawForkedChainConfig = z.infer<typeof RawForkedChainConfigSchema>;
export declare const RawForkedChainConfigByChainSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
    impersonateAccounts: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
    transactions: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
        type: z.ZodLiteral<TransactionConfigType.RAW_TRANSACTION>;
        transactions: z.ZodArray<z.ZodObject<{
            annotation: z.ZodOptional<z.ZodString>;
            from: z.ZodString;
            data: z.ZodOptional<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
                type: z.ZodLiteral<TransactionDataType.RAW_CALLDATA>;
                calldata: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                type: TransactionDataType.RAW_CALLDATA;
                calldata: string;
            }, {
                type: TransactionDataType.RAW_CALLDATA;
                calldata: string;
            }>, z.ZodObject<{
                type: z.ZodLiteral<TransactionDataType.SIGNATURE>;
                signature: z.ZodString;
                args: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
            }, "strip", z.ZodTypeAny, {
                type: TransactionDataType.SIGNATURE;
                signature: string;
                args: string[];
            }, {
                type: TransactionDataType.SIGNATURE;
                signature: string;
                args?: string[] | undefined;
            }>]>>;
            value: z.ZodOptional<z.ZodString>;
            to: z.ZodOptional<z.ZodString>;
            timeSkip: z.ZodOptional<z.ZodNumber>;
            eventAssertions: z.ZodDefault<z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
                type: z.ZodLiteral<EventAssertionType.RAW_TOPIC>;
                topic: z.ZodString;
                annotation: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                type: EventAssertionType.RAW_TOPIC;
                topic: string;
                annotation?: string | undefined;
            }, {
                type: EventAssertionType.RAW_TOPIC;
                topic: string;
                annotation?: string | undefined;
            }>, z.ZodObject<{
                type: z.ZodLiteral<EventAssertionType.TOPIC_SIGNATURE>;
                signature: z.ZodString;
                args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                annotation: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                type: EventAssertionType.TOPIC_SIGNATURE;
                signature: string;
                annotation?: string | undefined;
                args?: string[] | undefined;
            }, {
                type: EventAssertionType.TOPIC_SIGNATURE;
                signature: string;
                annotation?: string | undefined;
                args?: string[] | undefined;
            }>]>, "many">>;
            revertAssertion: z.ZodOptional<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
                type: z.ZodLiteral<RevertAssertionType>;
                reason: z.ZodString;
                annotation: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                type: RevertAssertionType;
                reason: string;
                annotation?: string | undefined;
            }, {
                type: RevertAssertionType;
                reason: string;
                annotation?: string | undefined;
            }>]>>;
        }, "strip", z.ZodTypeAny, {
            from: string;
            eventAssertions: ({
                type: EventAssertionType.RAW_TOPIC;
                topic: string;
                annotation?: string | undefined;
            } | {
                type: EventAssertionType.TOPIC_SIGNATURE;
                signature: string;
                annotation?: string | undefined;
                args?: string[] | undefined;
            })[];
            value?: string | undefined;
            to?: string | undefined;
            data?: {
                type: TransactionDataType.RAW_CALLDATA;
                calldata: string;
            } | {
                type: TransactionDataType.SIGNATURE;
                signature: string;
                args: string[];
            } | undefined;
            annotation?: string | undefined;
            timeSkip?: number | undefined;
            revertAssertion?: {
                type: RevertAssertionType;
                reason: string;
                annotation?: string | undefined;
            } | undefined;
        }, {
            from: string;
            value?: string | undefined;
            to?: string | undefined;
            data?: {
                type: TransactionDataType.RAW_CALLDATA;
                calldata: string;
            } | {
                type: TransactionDataType.SIGNATURE;
                signature: string;
                args?: string[] | undefined;
            } | undefined;
            annotation?: string | undefined;
            timeSkip?: number | undefined;
            eventAssertions?: ({
                type: EventAssertionType.RAW_TOPIC;
                topic: string;
                annotation?: string | undefined;
            } | {
                type: EventAssertionType.TOPIC_SIGNATURE;
                signature: string;
                annotation?: string | undefined;
                args?: string[] | undefined;
            })[] | undefined;
            revertAssertion?: {
                type: RevertAssertionType;
                reason: string;
                annotation?: string | undefined;
            } | undefined;
        }>, "many">;
    }, "strip", z.ZodTypeAny, {
        type: TransactionConfigType.RAW_TRANSACTION;
        transactions: {
            from: string;
            eventAssertions: ({
                type: EventAssertionType.RAW_TOPIC;
                topic: string;
                annotation?: string | undefined;
            } | {
                type: EventAssertionType.TOPIC_SIGNATURE;
                signature: string;
                annotation?: string | undefined;
                args?: string[] | undefined;
            })[];
            value?: string | undefined;
            to?: string | undefined;
            data?: {
                type: TransactionDataType.RAW_CALLDATA;
                calldata: string;
            } | {
                type: TransactionDataType.SIGNATURE;
                signature: string;
                args: string[];
            } | undefined;
            annotation?: string | undefined;
            timeSkip?: number | undefined;
            revertAssertion?: {
                type: RevertAssertionType;
                reason: string;
                annotation?: string | undefined;
            } | undefined;
        }[];
    }, {
        type: TransactionConfigType.RAW_TRANSACTION;
        transactions: {
            from: string;
            value?: string | undefined;
            to?: string | undefined;
            data?: {
                type: TransactionDataType.RAW_CALLDATA;
                calldata: string;
            } | {
                type: TransactionDataType.SIGNATURE;
                signature: string;
                args?: string[] | undefined;
            } | undefined;
            annotation?: string | undefined;
            timeSkip?: number | undefined;
            eventAssertions?: ({
                type: EventAssertionType.RAW_TOPIC;
                topic: string;
                annotation?: string | undefined;
            } | {
                type: EventAssertionType.TOPIC_SIGNATURE;
                signature: string;
                annotation?: string | undefined;
                args?: string[] | undefined;
            })[] | undefined;
            revertAssertion?: {
                type: RevertAssertionType;
                reason: string;
                annotation?: string | undefined;
            } | undefined;
        }[];
    }>, z.ZodObject<{
        type: z.ZodLiteral<TransactionConfigType.FILE>;
        path: z.ZodString;
        defaultSender: z.ZodString;
        overrides: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
            annotation: z.ZodOptional<z.ZodOptional<z.ZodString>>;
            from: z.ZodOptional<z.ZodString>;
            data: z.ZodOptional<z.ZodOptional<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
                type: z.ZodLiteral<TransactionDataType.RAW_CALLDATA>;
                calldata: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                type: TransactionDataType.RAW_CALLDATA;
                calldata: string;
            }, {
                type: TransactionDataType.RAW_CALLDATA;
                calldata: string;
            }>, z.ZodObject<{
                type: z.ZodLiteral<TransactionDataType.SIGNATURE>;
                signature: z.ZodString;
                args: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
            }, "strip", z.ZodTypeAny, {
                type: TransactionDataType.SIGNATURE;
                signature: string;
                args: string[];
            }, {
                type: TransactionDataType.SIGNATURE;
                signature: string;
                args?: string[] | undefined;
            }>]>>>;
            value: z.ZodOptional<z.ZodOptional<z.ZodString>>;
            to: z.ZodOptional<z.ZodOptional<z.ZodString>>;
            timeSkip: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
            eventAssertions: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
                type: z.ZodLiteral<EventAssertionType.RAW_TOPIC>;
                topic: z.ZodString;
                annotation: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                type: EventAssertionType.RAW_TOPIC;
                topic: string;
                annotation?: string | undefined;
            }, {
                type: EventAssertionType.RAW_TOPIC;
                topic: string;
                annotation?: string | undefined;
            }>, z.ZodObject<{
                type: z.ZodLiteral<EventAssertionType.TOPIC_SIGNATURE>;
                signature: z.ZodString;
                args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                annotation: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                type: EventAssertionType.TOPIC_SIGNATURE;
                signature: string;
                annotation?: string | undefined;
                args?: string[] | undefined;
            }, {
                type: EventAssertionType.TOPIC_SIGNATURE;
                signature: string;
                annotation?: string | undefined;
                args?: string[] | undefined;
            }>]>, "many">>>;
            revertAssertion: z.ZodOptional<z.ZodOptional<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
                type: z.ZodLiteral<RevertAssertionType>;
                reason: z.ZodString;
                annotation: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                type: RevertAssertionType;
                reason: string;
                annotation?: string | undefined;
            }, {
                type: RevertAssertionType;
                reason: string;
                annotation?: string | undefined;
            }>]>>>;
        }, "strip", z.ZodTypeAny, {
            value?: string | undefined;
            to?: string | undefined;
            data?: {
                type: TransactionDataType.RAW_CALLDATA;
                calldata: string;
            } | {
                type: TransactionDataType.SIGNATURE;
                signature: string;
                args: string[];
            } | undefined;
            from?: string | undefined;
            annotation?: string | undefined;
            timeSkip?: number | undefined;
            eventAssertions?: ({
                type: EventAssertionType.RAW_TOPIC;
                topic: string;
                annotation?: string | undefined;
            } | {
                type: EventAssertionType.TOPIC_SIGNATURE;
                signature: string;
                annotation?: string | undefined;
                args?: string[] | undefined;
            })[] | undefined;
            revertAssertion?: {
                type: RevertAssertionType;
                reason: string;
                annotation?: string | undefined;
            } | undefined;
        }, {
            value?: string | undefined;
            to?: string | undefined;
            data?: {
                type: TransactionDataType.RAW_CALLDATA;
                calldata: string;
            } | {
                type: TransactionDataType.SIGNATURE;
                signature: string;
                args?: string[] | undefined;
            } | undefined;
            from?: string | undefined;
            annotation?: string | undefined;
            timeSkip?: number | undefined;
            eventAssertions?: ({
                type: EventAssertionType.RAW_TOPIC;
                topic: string;
                annotation?: string | undefined;
            } | {
                type: EventAssertionType.TOPIC_SIGNATURE;
                signature: string;
                annotation?: string | undefined;
                args?: string[] | undefined;
            })[] | undefined;
            revertAssertion?: {
                type: RevertAssertionType;
                reason: string;
                annotation?: string | undefined;
            } | undefined;
        }>>>;
    }, "strip", z.ZodTypeAny, {
        path: string;
        type: TransactionConfigType.FILE;
        defaultSender: string;
        overrides: Record<string, {
            value?: string | undefined;
            to?: string | undefined;
            data?: {
                type: TransactionDataType.RAW_CALLDATA;
                calldata: string;
            } | {
                type: TransactionDataType.SIGNATURE;
                signature: string;
                args: string[];
            } | undefined;
            from?: string | undefined;
            annotation?: string | undefined;
            timeSkip?: number | undefined;
            eventAssertions?: ({
                type: EventAssertionType.RAW_TOPIC;
                topic: string;
                annotation?: string | undefined;
            } | {
                type: EventAssertionType.TOPIC_SIGNATURE;
                signature: string;
                annotation?: string | undefined;
                args?: string[] | undefined;
            })[] | undefined;
            revertAssertion?: {
                type: RevertAssertionType;
                reason: string;
                annotation?: string | undefined;
            } | undefined;
        }>;
    }, {
        path: string;
        type: TransactionConfigType.FILE;
        defaultSender: string;
        overrides?: Record<string, {
            value?: string | undefined;
            to?: string | undefined;
            data?: {
                type: TransactionDataType.RAW_CALLDATA;
                calldata: string;
            } | {
                type: TransactionDataType.SIGNATURE;
                signature: string;
                args?: string[] | undefined;
            } | undefined;
            from?: string | undefined;
            annotation?: string | undefined;
            timeSkip?: number | undefined;
            eventAssertions?: ({
                type: EventAssertionType.RAW_TOPIC;
                topic: string;
                annotation?: string | undefined;
            } | {
                type: EventAssertionType.TOPIC_SIGNATURE;
                signature: string;
                annotation?: string | undefined;
                args?: string[] | undefined;
            })[] | undefined;
            revertAssertion?: {
                type: RevertAssertionType;
                reason: string;
                annotation?: string | undefined;
            } | undefined;
        }> | undefined;
    }>]>, "many">;
}, "strip", z.ZodTypeAny, {
    transactions: ({
        type: TransactionConfigType.RAW_TRANSACTION;
        transactions: {
            from: string;
            eventAssertions: ({
                type: EventAssertionType.RAW_TOPIC;
                topic: string;
                annotation?: string | undefined;
            } | {
                type: EventAssertionType.TOPIC_SIGNATURE;
                signature: string;
                annotation?: string | undefined;
                args?: string[] | undefined;
            })[];
            value?: string | undefined;
            to?: string | undefined;
            data?: {
                type: TransactionDataType.RAW_CALLDATA;
                calldata: string;
            } | {
                type: TransactionDataType.SIGNATURE;
                signature: string;
                args: string[];
            } | undefined;
            annotation?: string | undefined;
            timeSkip?: number | undefined;
            revertAssertion?: {
                type: RevertAssertionType;
                reason: string;
                annotation?: string | undefined;
            } | undefined;
        }[];
    } | {
        path: string;
        type: TransactionConfigType.FILE;
        defaultSender: string;
        overrides: Record<string, {
            value?: string | undefined;
            to?: string | undefined;
            data?: {
                type: TransactionDataType.RAW_CALLDATA;
                calldata: string;
            } | {
                type: TransactionDataType.SIGNATURE;
                signature: string;
                args: string[];
            } | undefined;
            from?: string | undefined;
            annotation?: string | undefined;
            timeSkip?: number | undefined;
            eventAssertions?: ({
                type: EventAssertionType.RAW_TOPIC;
                topic: string;
                annotation?: string | undefined;
            } | {
                type: EventAssertionType.TOPIC_SIGNATURE;
                signature: string;
                annotation?: string | undefined;
                args?: string[] | undefined;
            })[] | undefined;
            revertAssertion?: {
                type: RevertAssertionType;
                reason: string;
                annotation?: string | undefined;
            } | undefined;
        }>;
    })[];
    impersonateAccounts: string[];
}, {
    transactions: ({
        type: TransactionConfigType.RAW_TRANSACTION;
        transactions: {
            from: string;
            value?: string | undefined;
            to?: string | undefined;
            data?: {
                type: TransactionDataType.RAW_CALLDATA;
                calldata: string;
            } | {
                type: TransactionDataType.SIGNATURE;
                signature: string;
                args?: string[] | undefined;
            } | undefined;
            annotation?: string | undefined;
            timeSkip?: number | undefined;
            eventAssertions?: ({
                type: EventAssertionType.RAW_TOPIC;
                topic: string;
                annotation?: string | undefined;
            } | {
                type: EventAssertionType.TOPIC_SIGNATURE;
                signature: string;
                annotation?: string | undefined;
                args?: string[] | undefined;
            })[] | undefined;
            revertAssertion?: {
                type: RevertAssertionType;
                reason: string;
                annotation?: string | undefined;
            } | undefined;
        }[];
    } | {
        path: string;
        type: TransactionConfigType.FILE;
        defaultSender: string;
        overrides?: Record<string, {
            value?: string | undefined;
            to?: string | undefined;
            data?: {
                type: TransactionDataType.RAW_CALLDATA;
                calldata: string;
            } | {
                type: TransactionDataType.SIGNATURE;
                signature: string;
                args?: string[] | undefined;
            } | undefined;
            from?: string | undefined;
            annotation?: string | undefined;
            timeSkip?: number | undefined;
            eventAssertions?: ({
                type: EventAssertionType.RAW_TOPIC;
                topic: string;
                annotation?: string | undefined;
            } | {
                type: EventAssertionType.TOPIC_SIGNATURE;
                signature: string;
                annotation?: string | undefined;
                args?: string[] | undefined;
            })[] | undefined;
            revertAssertion?: {
                type: RevertAssertionType;
                reason: string;
                annotation?: string | undefined;
            } | undefined;
        }> | undefined;
    })[];
    impersonateAccounts?: string[] | undefined;
}>>;
export type RawForkedChainConfigByChain = z.infer<typeof RawForkedChainConfigByChainSchema>;
export declare const SafeTxFileSchema: z.ZodObject<{
    version: z.ZodString;
    chainId: z.ZodString;
    transactions: z.ZodArray<z.ZodObject<Pick<{
        annotation: z.ZodOptional<z.ZodString>;
        from: z.ZodString;
        data: z.ZodOptional<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
            type: z.ZodLiteral<TransactionDataType.RAW_CALLDATA>;
            calldata: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            type: TransactionDataType.RAW_CALLDATA;
            calldata: string;
        }, {
            type: TransactionDataType.RAW_CALLDATA;
            calldata: string;
        }>, z.ZodObject<{
            type: z.ZodLiteral<TransactionDataType.SIGNATURE>;
            signature: z.ZodString;
            args: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
        }, "strip", z.ZodTypeAny, {
            type: TransactionDataType.SIGNATURE;
            signature: string;
            args: string[];
        }, {
            type: TransactionDataType.SIGNATURE;
            signature: string;
            args?: string[] | undefined;
        }>]>>;
        value: z.ZodOptional<z.ZodString>;
        to: z.ZodOptional<z.ZodString>;
        timeSkip: z.ZodOptional<z.ZodNumber>;
        eventAssertions: z.ZodDefault<z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
            type: z.ZodLiteral<EventAssertionType.RAW_TOPIC>;
            topic: z.ZodString;
            annotation: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            type: EventAssertionType.RAW_TOPIC;
            topic: string;
            annotation?: string | undefined;
        }, {
            type: EventAssertionType.RAW_TOPIC;
            topic: string;
            annotation?: string | undefined;
        }>, z.ZodObject<{
            type: z.ZodLiteral<EventAssertionType.TOPIC_SIGNATURE>;
            signature: z.ZodString;
            args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            annotation: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            type: EventAssertionType.TOPIC_SIGNATURE;
            signature: string;
            annotation?: string | undefined;
            args?: string[] | undefined;
        }, {
            type: EventAssertionType.TOPIC_SIGNATURE;
            signature: string;
            annotation?: string | undefined;
            args?: string[] | undefined;
        }>]>, "many">>;
        revertAssertion: z.ZodOptional<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
            type: z.ZodLiteral<RevertAssertionType>;
            reason: z.ZodString;
            annotation: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            type: RevertAssertionType;
            reason: string;
            annotation?: string | undefined;
        }, {
            type: RevertAssertionType;
            reason: string;
            annotation?: string | undefined;
        }>]>>;
    }, "value" | "to"> & {
        data: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        value?: string | undefined;
        to?: string | undefined;
        data?: string | undefined;
    }, {
        value?: string | undefined;
        to?: string | undefined;
        data?: string | undefined;
    }>, "many">;
}, "strip", z.ZodTypeAny, {
    chainId: string;
    version: string;
    transactions: {
        value?: string | undefined;
        to?: string | undefined;
        data?: string | undefined;
    }[];
}, {
    chainId: string;
    version: string;
    transactions: {
        value?: string | undefined;
        to?: string | undefined;
        data?: string | undefined;
    }[];
}>;
export type SafeTx = z.infer<typeof SafeTxFileSchema>;
export declare function forkedChainConfigByChainFromRaw(raw: RawForkedChainConfigByChain, fileReader: <T>(path: string) => T): ForkedChainConfigByChain;
//# sourceMappingURL=types.d.ts.map