/**
 * This file was auto-generated by openapi-typescript.
 * Do not make direct changes to the file.
 */


export interface paths {
  "/api/config/{guildId}": {
    /**
     * Find guild config by ID
     * @description Returns a single guild config
     */
    get: operations["getGuildById"];
    /**
     * Deletes a guild config by ID
     * @description Delete a guild's config
     */
    delete: operations["deleteGuildById"];
  };
  "/api/tp_messages/{guildId}": {
    /**
     * Find guild by ID for it's tp_messages
     * @description Returns tp_messages for a guild
     */
    get: operations["getTp_messagesOfGuildById"];
  };
}

export type webhooks = Record<string, never>;

export interface components {
  schemas: {
    guildConfig: {
      /**
       * Format: varchar(19)
       * @example 1234567890123456789
       */
      guildID?: string;
      features?: {
        time_planning?: {
          /**
           * Format: varchar(19)
           * @example 1234567890123456789
           */
          channelID?: string;
          /** @example 0 0 1 * * * 60o 1w */
          cron?: string;
          /**
           * Format: varchar(19)
           * @example 1234567890123456789
           */
          isAvailableRoleId?: string;
          /**
           * Format: varchar(19)
           * @example 1234567890123456789
           */
          wantsToBeNotifieRoledId?: string;
        };
      };
      matches?: components["schemas"]["match"][];
    };
    match: {
      /**
       * Format: varchar(19)
       * @example 1234567890123456789
       */
      channelID?: string;
      /**
       * Format: varchar(50)
       * @example Scrim
       */
      matchType?: string;
      /**
       * Format: varchar(19)
       * @example 1234567890123456789
       */
      createrId?: string;
      /**
       * Format: varchar(19)
       * @example 1234567890123456789
       */
      roleId?: string;
      /**
       * Format: varchar(100)
       * @example ?
       */
      opponentName?: string;
      /**
       * Format: varchar(19)
       * @example 1234567890123456789
       */
      messsageId?: string;
      /** @example 0 0 1 5 2 2023 60o */
      cron?: string;
    };
  };
  responses: never;
  parameters: never;
  requestBodies: never;
  headers: never;
  pathItems: never;
}

export type $defs = Record<string, never>;

export type external = Record<string, never>;

export interface operations {

  /**
   * Find guild config by ID
   * @description Returns a single guild config
   */
  getGuildById: {
    parameters: {
      path: {
        /** @description ID of guild config to return */
        guildId: string;
      };
    };
    responses: {
      /** @description successful operation */
      200: {
        content: {
          "application/json": components["schemas"]["guildConfig"];
        };
      };
      /** @description Invalid ID supplied */
      400: {
        content: never;
      };
      /** @description Guild not found */
      404: {
        content: never;
      };
    };
  };
  /**
   * Deletes a guild config by ID
   * @description Delete a guild's config
   */
  deleteGuildById: {
    parameters: {
      path: {
        /** @description ID of guild config to delete */
        guildId: string;
      };
    };
    responses: {
      /** @description successful operation */
      204: {
        content: never;
      };
      /** @description Invalid ID supplied */
      400: {
        content: never;
      };
      /** @description Guild not found */
      404: {
        content: never;
      };
    };
  };
  /**
   * Find guild by ID for it's tp_messages
   * @description Returns tp_messages for a guild
   */
  getTp_messagesOfGuildById: {
    parameters: {
      path: {
        /** @description ID of guild's tp_messages to return */
        guildId: string;
      };
    };
    responses: {
      /** @description successful operation */
      200: {
        content: {
          "application/json": components["schemas"]["guildConfig"];
        };
      };
      /** @description Time planning not enabled for this guild */
      204: {
        content: never;
      };
      /** @description Invalid ID supplied */
      400: {
        content: never;
      };
      /** @description Guild not found */
      404: {
        content: never;
      };
    };
  };
}
