/**
 * This file was automatically generated by @cosmwasm/ts-codegen@0.35.3.
 * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
 * and run the @cosmwasm/ts-codegen generate command to regenerate this file.
 */
export interface InstantiateMsg {
    domain: number;
    hrp: string;
    owner: string;
}
export type ExecuteMsg = {
    ownable: OwnableMsg;
} | {
    set_default_ism: {
        ism: string;
    };
} | {
    set_default_hook: {
        hook: string;
    };
} | {
    set_required_hook: {
        hook: string;
    };
} | {
    dispatch: DispatchMsg;
} | {
    process: {
        message: HexBinary;
        metadata: HexBinary;
    };
};
export type OwnableMsg = {
    init_ownership_transfer: {
        next_owner: string;
    };
} | {
    revoke_ownership_transfer: {};
} | {
    claim_ownership: {};
};
export type HexBinary = string;
export interface DispatchMsg {
    dest_domain: number;
    hook?: string | null;
    metadata?: HexBinary | null;
    msg_body: HexBinary;
    recipient_addr: HexBinary;
}
export type QueryMsg = {
    ownable: OwnableQueryMsg;
} | {
    hook: MailboxHookQueryMsg;
} | {
    mailbox: MailboxQueryMsg;
};
export type OwnableQueryMsg = {
    get_owner: {};
} | {
    get_pending_owner: {};
};
export type MailboxHookQueryMsg = {
    quote_dispatch: DispatchMsg;
};
export type MailboxQueryMsg = {
    hrp: {};
} | {
    local_domain: {};
} | {
    message_delivered: {
        id: HexBinary;
    };
} | {
    default_ism: {};
} | {
    default_hook: {};
} | {
    required_hook: {};
} | {
    nonce: {};
} | {
    recipient_ism: {
        recipient_addr: string;
    };
} | {
    latest_dispatch_id: {};
};
export interface DefaultHookResponse {
    default_hook: string;
}
export interface DefaultIsmResponse {
    default_ism: string;
}
export type Addr = string;
export interface OwnerResponse {
    owner: Addr;
}
export interface PendingOwnerResponse {
    pending_owner?: Addr | null;
}
export interface HrpResponse {
    hrp: string;
}
export interface LatestDispatchedIdResponse {
    message_id: HexBinary;
}
export interface LocalDomainResponse {
    local_domain: number;
}
export interface MessageDeliveredResponse {
    delivered: boolean;
}
export interface NonceResponse {
    nonce: number;
}
export type Uint128 = string;
export interface QuoteDispatchResponse {
    gas_amount?: Coin | null;
}
export interface Coin {
    amount: Uint128;
    denom: string;
    [k: string]: unknown;
}
export interface RecipientIsmResponse {
    ism: string;
}
export interface RequiredHookResponse {
    required_hook: string;
}
//# sourceMappingURL=Mailbox.types.d.ts.map