import { Layout, LengthPrefixedBytesLayoutItem } from "@wormhole-foundation/sdk-base";
import { RegisterPayloadTypes } from "../vaa";
export declare const depositWithSizedLayoutPayload: <S extends number, L extends Layout>(byteSize: S, layout: L) => readonly [{
    readonly name: "payloadId";
    readonly binary: "uint";
    readonly size: 1;
    readonly custom: 1;
    readonly omit: true;
}, {
    readonly name: "token";
    readonly binary: "object";
    readonly layout: readonly [{
        readonly binary: "bytes";
        readonly size: 32;
        readonly custom: {
            to: (val: Uint8Array) => import("..").UniversalAddress;
            from: (val: import("..").UniversalAddress) => Uint8Array;
        };
        readonly name: "address";
    }, {
        readonly binary: "uint";
        readonly size: 32;
        readonly name: "amount";
    }];
}, {
    readonly binary: "uint";
    readonly size: 4;
    readonly name: "sourceDomain";
}, {
    readonly binary: "uint";
    readonly size: 4;
    readonly name: "targetDomain";
}, {
    readonly binary: "uint";
    readonly size: 8;
    readonly name: "nonce";
}, {
    readonly binary: "bytes";
    readonly size: 32;
    readonly custom: {
        to: (val: Uint8Array) => import("..").UniversalAddress;
        from: (val: import("..").UniversalAddress) => Uint8Array;
    };
    readonly name: "caller";
}, {
    readonly binary: "bytes";
    readonly size: 32;
    readonly custom: {
        to: (val: Uint8Array) => import("..").UniversalAddress;
        from: (val: import("..").UniversalAddress) => Uint8Array;
    };
    readonly name: "mintRecipient";
}, {
    readonly name: "payloadSize";
    readonly binary: "uint";
    readonly size: 2;
    readonly custom: S;
    readonly omit: true;
}, {
    readonly name: "payload";
    readonly binary: "object";
    readonly layout: L;
}];
export declare const depositWithBytesPayload: <C extends Pick<LengthPrefixedBytesLayoutItem, "custom">>(customPayload: C) => readonly [{
    readonly name: "payloadId";
    readonly binary: "uint";
    readonly size: 1;
    readonly custom: 1;
    readonly omit: true;
}, {
    readonly name: "token";
    readonly binary: "object";
    readonly layout: readonly [{
        readonly binary: "bytes";
        readonly size: 32;
        readonly custom: {
            to: (val: Uint8Array) => import("..").UniversalAddress;
            from: (val: import("..").UniversalAddress) => Uint8Array;
        };
        readonly name: "address";
    }, {
        readonly binary: "uint";
        readonly size: 32;
        readonly name: "amount";
    }];
}, {
    readonly binary: "uint";
    readonly size: 4;
    readonly name: "sourceDomain";
}, {
    readonly binary: "uint";
    readonly size: 4;
    readonly name: "targetDomain";
}, {
    readonly binary: "uint";
    readonly size: 8;
    readonly name: "nonce";
}, {
    readonly binary: "bytes";
    readonly size: 32;
    readonly custom: {
        to: (val: Uint8Array) => import("..").UniversalAddress;
        from: (val: import("..").UniversalAddress) => Uint8Array;
    };
    readonly name: "caller";
}, {
    readonly binary: "bytes";
    readonly size: 32;
    readonly custom: {
        to: (val: Uint8Array) => import("..").UniversalAddress;
        from: (val: import("..").UniversalAddress) => Uint8Array;
    };
    readonly name: "mintRecipient";
}, {
    readonly name: "payload";
    readonly binary: "bytes";
    readonly lengthSize: 2;
} & C];
export declare const connectPayload: readonly [{
    readonly name: "payloadId";
    readonly binary: "uint";
    readonly size: 1;
    readonly custom: 1;
    readonly omit: true;
}, {
    readonly binary: "uint";
    readonly size: 32;
    readonly name: "targetRelayerFee";
}, {
    readonly binary: "uint";
    readonly size: 32;
    readonly name: "toNativeTokenAmount";
}, {
    readonly binary: "bytes";
    readonly size: 32;
    readonly custom: {
        to: (val: Uint8Array) => import("..").UniversalAddress;
        from: (val: import("..").UniversalAddress) => Uint8Array;
    };
    readonly name: "targetRecipient";
}];
export declare const namedPayloads: readonly [readonly ["DepositWithPayload", readonly [{
    readonly name: "payloadId";
    readonly binary: "uint";
    readonly size: 1;
    readonly custom: 1;
    readonly omit: true;
}, {
    readonly name: "token";
    readonly binary: "object";
    readonly layout: readonly [{
        readonly binary: "bytes";
        readonly size: 32;
        readonly custom: {
            to: (val: Uint8Array) => import("..").UniversalAddress;
            from: (val: import("..").UniversalAddress) => Uint8Array;
        };
        readonly name: "address";
    }, {
        readonly binary: "uint";
        readonly size: 32;
        readonly name: "amount";
    }];
}, {
    readonly binary: "uint";
    readonly size: 4;
    readonly name: "sourceDomain";
}, {
    readonly binary: "uint";
    readonly size: 4;
    readonly name: "targetDomain";
}, {
    readonly binary: "uint";
    readonly size: 8;
    readonly name: "nonce";
}, {
    readonly binary: "bytes";
    readonly size: 32;
    readonly custom: {
        to: (val: Uint8Array) => import("..").UniversalAddress;
        from: (val: import("..").UniversalAddress) => Uint8Array;
    };
    readonly name: "caller";
}, {
    readonly binary: "bytes";
    readonly size: 32;
    readonly custom: {
        to: (val: Uint8Array) => import("..").UniversalAddress;
        from: (val: import("..").UniversalAddress) => Uint8Array;
    };
    readonly name: "mintRecipient";
}, {
    readonly name: "payload";
    readonly binary: "bytes";
    readonly lengthSize: 2;
}]], readonly ["TransferWithRelay", readonly [{
    readonly name: "payloadId";
    readonly binary: "uint";
    readonly size: 1;
    readonly custom: 1;
    readonly omit: true;
}, {
    readonly name: "token";
    readonly binary: "object";
    readonly layout: readonly [{
        readonly binary: "bytes";
        readonly size: 32;
        readonly custom: {
            to: (val: Uint8Array) => import("..").UniversalAddress;
            from: (val: import("..").UniversalAddress) => Uint8Array;
        };
        readonly name: "address";
    }, {
        readonly binary: "uint";
        readonly size: 32;
        readonly name: "amount";
    }];
}, {
    readonly binary: "uint";
    readonly size: 4;
    readonly name: "sourceDomain";
}, {
    readonly binary: "uint";
    readonly size: 4;
    readonly name: "targetDomain";
}, {
    readonly binary: "uint";
    readonly size: 8;
    readonly name: "nonce";
}, {
    readonly binary: "bytes";
    readonly size: 32;
    readonly custom: {
        to: (val: Uint8Array) => import("..").UniversalAddress;
        from: (val: import("..").UniversalAddress) => Uint8Array;
    };
    readonly name: "caller";
}, {
    readonly binary: "bytes";
    readonly size: 32;
    readonly custom: {
        to: (val: Uint8Array) => import("..").UniversalAddress;
        from: (val: import("..").UniversalAddress) => Uint8Array;
    };
    readonly name: "mintRecipient";
}, {
    readonly name: "payloadSize";
    readonly binary: "uint";
    readonly size: 2;
    readonly custom: number;
    readonly omit: true;
}, {
    readonly name: "payload";
    readonly binary: "object";
    readonly layout: readonly [{
        readonly name: "payloadId";
        readonly binary: "uint";
        readonly size: 1;
        readonly custom: 1;
        readonly omit: true;
    }, {
        readonly binary: "uint";
        readonly size: 32;
        readonly name: "targetRelayerFee";
    }, {
        readonly binary: "uint";
        readonly size: 32;
        readonly name: "toNativeTokenAmount";
    }, {
        readonly binary: "bytes";
        readonly size: 32;
        readonly custom: {
            to: (val: Uint8Array) => import("..").UniversalAddress;
            from: (val: import("..").UniversalAddress) => Uint8Array;
        };
        readonly name: "targetRecipient";
    }];
}]]];
declare global {
    namespace WormholeNamespace {
        interface PayloadLiteralToLayoutMapping extends RegisterPayloadTypes<"AutomaticCircleBridge", typeof namedPayloads> {
        }
    }
}
//# sourceMappingURL=automaticCircleBridge.d.ts.map