import { HttpClient, HttpContext } from '@angular/common/http';
import { BaseService } from '../base-service';
import { ApiConfiguration } from '../api-configuration';
import { StrictHttpResponse } from '../strict-http-response';
import { Observable } from 'rxjs';
import { CustomPageTablaCatalogoBuscarProjection } from '../models/custom-page-tabla-catalogo-buscar-projection';
import { FormElementProjection } from '../models/form-element-projection';
import { MovHisRegistrosTablaCatalogoResponse } from '../models/mov-his-registros-tabla-catalogo-response';
import { TablaCatalogoDetalleResponse } from '../models/tabla-catalogo-detalle-response';
import { TablaCatalogoRegistroResponse } from '../models/tabla-catalogo-registro-response';
import { TablaCatalogoRequest } from '../models/tabla-catalogo-request';
import * as i0 from "@angular/core";
export declare class TablaCatalogoControllerService extends BaseService {
    constructor(config: ApiConfiguration, http: HttpClient);
    /**
     * Path part for operation modificarRegistroDetalle
     */
    static readonly ModificarRegistroDetallePath = "/catalogos/{tabla_catalogo_id}/{codigo1}/{codigo2}";
    /**
     * Realiza la actualizacion del registro en la tabla seleccionada.
     *
     * Realiza la actualizacion del registro en la tabla seleccionada
     *
     * This method provides access to the full `HttpResponse`, allowing access to response headers.
     * To access only the response body, use `modificarRegistroDetalle()` instead.
     *
     * This method sends `application/json` and handles request body of type `application/json`.
     */
    modificarRegistroDetalle$Response(params: {
        tabla_catalogo_id: number;
        codigo1: number;
        codigo2: number;
        context?: HttpContext;
        body: TablaCatalogoRequest;
    }): Observable<StrictHttpResponse<{}>>;
    /**
     * Realiza la actualizacion del registro en la tabla seleccionada.
     *
     * Realiza la actualizacion del registro en la tabla seleccionada
     *
     * This method provides access to only to the response body.
     * To access the full response (for headers, for example), `modificarRegistroDetalle$Response()` instead.
     *
     * This method sends `application/json` and handles request body of type `application/json`.
     */
    modificarRegistroDetalle(params: {
        tabla_catalogo_id: number;
        codigo1: number;
        codigo2: number;
        context?: HttpContext;
        body: TablaCatalogoRequest;
    }): Observable<{}>;
    /**
     * Path part for operation crearRegistroDetalle
     */
    static readonly CrearRegistroDetallePath = "/catalogos/{tabla_catalogo_id}/{codigo1}/{codigo2}";
    /**
     * Realiza el registro en la tabla seleccionada.
     *
     * Realiza el registro en la tabla seleccionada
     *
     * This method provides access to the full `HttpResponse`, allowing access to response headers.
     * To access only the response body, use `crearRegistroDetalle()` instead.
     *
     * This method sends `application/json` and handles request body of type `application/json`.
     */
    crearRegistroDetalle$Response(params: {
        tabla_catalogo_id: number;
        codigo1: number;
        codigo2: number;
        context?: HttpContext;
        body: TablaCatalogoRequest;
    }): Observable<StrictHttpResponse<{}>>;
    /**
     * Realiza el registro en la tabla seleccionada.
     *
     * Realiza el registro en la tabla seleccionada
     *
     * This method provides access to only to the response body.
     * To access the full response (for headers, for example), `crearRegistroDetalle$Response()` instead.
     *
     * This method sends `application/json` and handles request body of type `application/json`.
     */
    crearRegistroDetalle(params: {
        tabla_catalogo_id: number;
        codigo1: number;
        codigo2: number;
        context?: HttpContext;
        body: TablaCatalogoRequest;
    }): Observable<{}>;
    /**
     * Path part for operation buscarTablaCatalogo
     */
    static readonly BuscarTablaCatalogoPath = "/catalogos";
    /**
     * Permite realizar la busqueda de tablas tipo 1 , 2 , 3.
     *
     * Permite realizar la busqueda de tablas tipo 1 , 2 , 3.
     *
     * This method provides access to the full `HttpResponse`, allowing access to response headers.
     * To access only the response body, use `buscarTablaCatalogo()` instead.
     *
     * This method doesn't expect any request body.
     */
    buscarTablaCatalogo$Response(params?: {
        tabla_catalogo_id?: number;
        tabla?: string;
        descripcion?: string;
        tipo?: number;
        page?: number;
        page_size?: number;
        context?: HttpContext;
    }): Observable<StrictHttpResponse<CustomPageTablaCatalogoBuscarProjection>>;
    /**
     * Permite realizar la busqueda de tablas tipo 1 , 2 , 3.
     *
     * Permite realizar la busqueda de tablas tipo 1 , 2 , 3.
     *
     * This method provides access to only to the response body.
     * To access the full response (for headers, for example), `buscarTablaCatalogo$Response()` instead.
     *
     * This method doesn't expect any request body.
     */
    buscarTablaCatalogo(params?: {
        tabla_catalogo_id?: number;
        tabla?: string;
        descripcion?: string;
        tipo?: number;
        page?: number;
        page_size?: number;
        context?: HttpContext;
    }): Observable<CustomPageTablaCatalogoBuscarProjection>;
    /**
     * Path part for operation listarFormElement
     */
    static readonly ListarFormElementPath = "/catalogos/listar-form-element/{tabla_catalogo_id}";
    /**
     * Permite listar los elementos del formulario de la tabla a dar mantenimiento.
     *
     * Permite listar los elementos del formulario de la tabla a dar mantenimiento
     *
     * This method provides access to the full `HttpResponse`, allowing access to response headers.
     * To access only the response body, use `listarFormElement()` instead.
     *
     * This method doesn't expect any request body.
     */
    listarFormElement$Response(params: {
        tabla_catalogo_id: number;
        context?: HttpContext;
    }): Observable<StrictHttpResponse<Array<FormElementProjection>>>;
    /**
     * Permite listar los elementos del formulario de la tabla a dar mantenimiento.
     *
     * Permite listar los elementos del formulario de la tabla a dar mantenimiento
     *
     * This method provides access to only to the response body.
     * To access the full response (for headers, for example), `listarFormElement$Response()` instead.
     *
     * This method doesn't expect any request body.
     */
    listarFormElement(params: {
        tabla_catalogo_id: number;
        context?: HttpContext;
    }): Observable<Array<FormElementProjection>>;
    /**
     * Path part for operation listarDetalleTablaCatalogo
     */
    static readonly ListarDetalleTablaCatalogoPath = "/catalogos/listar-detalle/{tabla_catalogo_id}/{codigo_padre}";
    /**
     * Permite listar todos los registros de la tabla catalogo a consultar.
     *
     * Permite listar todos los registros de la tabla catalogo a consultar.
     *
     * This method provides access to the full `HttpResponse`, allowing access to response headers.
     * To access only the response body, use `listarDetalleTablaCatalogo()` instead.
     *
     * This method doesn't expect any request body.
     */
    listarDetalleTablaCatalogo$Response(params: {
        tabla_catalogo_id: number;
        codigo_padre: number;
        context?: HttpContext;
    }): Observable<StrictHttpResponse<Array<TablaCatalogoDetalleResponse>>>;
    /**
     * Permite listar todos los registros de la tabla catalogo a consultar.
     *
     * Permite listar todos los registros de la tabla catalogo a consultar.
     *
     * This method provides access to only to the response body.
     * To access the full response (for headers, for example), `listarDetalleTablaCatalogo$Response()` instead.
     *
     * This method doesn't expect any request body.
     */
    listarDetalleTablaCatalogo(params: {
        tabla_catalogo_id: number;
        codigo_padre: number;
        context?: HttpContext;
    }): Observable<Array<TablaCatalogoDetalleResponse>>;
    /**
     * Path part for operation listarDetalleHistorico
     */
    static readonly ListarDetalleHistoricoPath = "/catalogos/listar-detalle-historico/{tabla_catalogo_id}/{codigo1}/{codigo2}";
    /**
     * Permite listar los registros de la tabla catalogo a consultar.
     *
     * Permite listar los registros de la tabla catalogo a consultar.
     *
     * This method provides access to the full `HttpResponse`, allowing access to response headers.
     * To access only the response body, use `listarDetalleHistorico()` instead.
     *
     * This method doesn't expect any request body.
     */
    listarDetalleHistorico$Response(params: {
        tabla_catalogo_id: number;
        codigo1: number;
        codigo2: number;
        context?: HttpContext;
    }): Observable<StrictHttpResponse<Array<MovHisRegistrosTablaCatalogoResponse>>>;
    /**
     * Permite listar los registros de la tabla catalogo a consultar.
     *
     * Permite listar los registros de la tabla catalogo a consultar.
     *
     * This method provides access to only to the response body.
     * To access the full response (for headers, for example), `listarDetalleHistorico$Response()` instead.
     *
     * This method doesn't expect any request body.
     */
    listarDetalleHistorico(params: {
        tabla_catalogo_id: number;
        codigo1: number;
        codigo2: number;
        context?: HttpContext;
    }): Observable<Array<MovHisRegistrosTablaCatalogoResponse>>;
    /**
     * Path part for operation obtenerRegistroDetalle
     */
    static readonly ObtenerRegistroDetallePath = "/catalogos/detalle/{tabla_catalogo_id}/{codigo1}/{codigo2}";
    /**
     * Permite obtener los datos del registro de la tabla seleccionada.
     *
     * Permite obtener los datos del registro de la tabla seleccionada.
     *
     * This method provides access to the full `HttpResponse`, allowing access to response headers.
     * To access only the response body, use `obtenerRegistroDetalle()` instead.
     *
     * This method doesn't expect any request body.
     */
    obtenerRegistroDetalle$Response(params: {
        tabla_catalogo_id: number;
        codigo1: number;
        codigo2: number;
        context?: HttpContext;
    }): Observable<StrictHttpResponse<Array<TablaCatalogoRegistroResponse>>>;
    /**
     * Permite obtener los datos del registro de la tabla seleccionada.
     *
     * Permite obtener los datos del registro de la tabla seleccionada.
     *
     * This method provides access to only to the response body.
     * To access the full response (for headers, for example), `obtenerRegistroDetalle$Response()` instead.
     *
     * This method doesn't expect any request body.
     */
    obtenerRegistroDetalle(params: {
        tabla_catalogo_id: number;
        codigo1: number;
        codigo2: number;
        context?: HttpContext;
    }): Observable<Array<TablaCatalogoRegistroResponse>>;
    /**
     * Path part for operation anularRegistroDetalle
     */
    static readonly AnularRegistroDetallePath = "/catalogos/{tabla_catalogo_id}/{codigo1}/{codigo2}/{terminal}";
    /**
     * Realiza la anulación del registro en la tabla seleccionada.
     *
     * Realiza la anulación del registro en la tabla seleccionada
     *
     * This method provides access to the full `HttpResponse`, allowing access to response headers.
     * To access only the response body, use `anularRegistroDetalle()` instead.
     *
     * This method doesn't expect any request body.
     */
    anularRegistroDetalle$Response(params: {
        tabla_catalogo_id: number;
        codigo1: number;
        codigo2: number;
        terminal: string;
        context?: HttpContext;
    }): Observable<StrictHttpResponse<{}>>;
    /**
     * Realiza la anulación del registro en la tabla seleccionada.
     *
     * Realiza la anulación del registro en la tabla seleccionada
     *
     * This method provides access to only to the response body.
     * To access the full response (for headers, for example), `anularRegistroDetalle$Response()` instead.
     *
     * This method doesn't expect any request body.
     */
    anularRegistroDetalle(params: {
        tabla_catalogo_id: number;
        codigo1: number;
        codigo2: number;
        terminal: string;
        context?: HttpContext;
    }): Observable<{}>;
    static ɵfac: i0.ɵɵFactoryDeclaration<TablaCatalogoControllerService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<TablaCatalogoControllerService>;
}
