/**
* 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 type Uint128 = string;
export interface InstantiateMsg {
  deposit_required: Coin;
}
export interface Coin {
  amount: Uint128;
  denom: string;
  [k: string]: unknown;
}
export type ExecuteMsg = {
  announce: {
    owner_signature: MessageSignature;
    service: ServiceDetails;
  };
} | {
  delete_id: {
    service_id: number;
  };
} | {
  delete_nym_address: {
    nym_address: NymAddress;
  };
} | {
  update_deposit_required: {
    deposit_required: Coin;
  };
};
export type MessageSignature = number[];
export type NymAddress = {
  address: string;
};
export type ServiceType = "network_requester";
export interface ServiceDetails {
  identity_key: string;
  nym_address: NymAddress;
  service_type: ServiceType;
}
export type QueryMsg = {
  service_id: {
    service_id: number;
  };
} | {
  by_announcer: {
    announcer: string;
  };
} | {
  by_nym_address: {
    nym_address: NymAddress;
  };
} | {
  all: {
    limit?: number | null;
    start_after?: number | null;
  };
} | {
  signing_nonce: {
    address: string;
  };
} | {
  config: {};
} | {
  get_contract_version: {};
} | {
  get_cw2_contract_version: {};
};
export interface MigrateMsg {}
export type Addr = string;
export interface PagedServicesListResponse {
  per_page: number;
  services: Service[];
  start_next_after?: number | null;
}
export interface Service {
  announcer: Addr;
  block_height: number;
  deposit: Coin;
  service: ServiceDetails;
  service_id: number;
}
export interface ServicesListResponse {
  services: Service[];
}
export interface ConfigResponse {
  deposit_required: Coin;
}
export interface ContractVersion {
  contract: string;
  version: string;
}
export interface ContractBuildInformation {
  build_timestamp: string;
  build_version: string;
  commit_branch: string;
  commit_sha: string;
  commit_timestamp: string;
  rustc_version: string;
}
export type Uint32 = number;