import { Address, Hex } from 'viem';
type BridgeWizardStepWithPreviousState<TStep extends string, TPrev extends BridgeWizardStep, TNew extends keyof BridgeWizardStateVariables> = Omit<TPrev, 'step'> & {
    step: TStep;
} & Pick<BridgeWizardStateVariables, TNew>;
export type BridgeWizardStateVariables = {
    privateKey: Hex;
    address: Address;
    network: string;
    chainIds: number[];
    amount: bigint;
};
type BridgeWizardSelectNetworkStep = {
    step: 'select-network';
};
type BridgeWizardEnterPrivateKeyStep = BridgeWizardStepWithPreviousState<'enter-private-key', BridgeWizardSelectNetworkStep, 'network'>;
type BridgeWizardSelectChainsStep = BridgeWizardStepWithPreviousState<'select-chains', BridgeWizardEnterPrivateKeyStep, 'privateKey' | 'address'>;
type BridgeWizardEnterAmountStep = BridgeWizardStepWithPreviousState<'enter-amount', BridgeWizardSelectChainsStep, 'chainIds'>;
type BridgeWizardConfirmTransactionStep = BridgeWizardStepWithPreviousState<'confirm-transaction', BridgeWizardEnterAmountStep, 'amount'>;
export type BridgeWizardStep = BridgeWizardSelectNetworkStep | BridgeWizardEnterPrivateKeyStep | BridgeWizardSelectChainsStep | BridgeWizardEnterAmountStep | BridgeWizardConfirmTransactionStep;
export declare const bridgeWizardStepMetadatas: [{
    readonly step: "select-network";
    readonly title: "Select network";
    readonly getSummary: (state: BridgeWizardStateVariables) => string;
}, {
    readonly step: "enter-private-key";
    readonly title: "Connect account";
    readonly getSummary: (state: BridgeWizardStateVariables) => string;
}, {
    readonly step: "select-chains";
    readonly title: "Select chains";
    readonly getSummary: (state: BridgeWizardStateVariables) => string;
}, {
    readonly step: "enter-amount";
    readonly title: "Enter amount";
    readonly getSummary: (state: BridgeWizardStateVariables) => string;
}, {
    readonly step: "confirm-transaction";
    readonly title: "Confirm transaction";
    readonly getSummary: () => string;
}];
export declare const bridgeWizardStepMetadataByStep: Record<"select-network" | "enter-private-key" | "select-chains" | "enter-amount" | "confirm-transaction", {
    readonly step: "select-network";
    readonly title: "Select network";
    readonly getSummary: (state: BridgeWizardStateVariables) => string;
} | {
    readonly step: "enter-private-key";
    readonly title: "Connect account";
    readonly getSummary: (state: BridgeWizardStateVariables) => string;
} | {
    readonly step: "select-chains";
    readonly title: "Select chains";
    readonly getSummary: (state: BridgeWizardStateVariables) => string;
} | {
    readonly step: "enter-amount";
    readonly title: "Enter amount";
    readonly getSummary: (state: BridgeWizardStateVariables) => string;
} | {
    readonly step: "confirm-transaction";
    readonly title: "Confirm transaction";
    readonly getSummary: () => string;
}>;
export declare const indexByBridgeWizardStep: Record<"select-network" | "enter-private-key" | "select-chains" | "enter-amount" | "confirm-transaction", number>;
export declare const isAfterStep: (currentStep: BridgeWizardStep["step"], targetStep: BridgeWizardStep["step"]) => boolean;
export {};
