import { TranslateService } from "@ngx-translate/core";
import { CampanyaService } from "../../common/service/campanya.service";
import { CitaService } from "../../common/service/cita.service";
import { Calendario } from "../../common/data/calendario";
import { AgendaHora } from "../../common/data/agenda-hora";
import { ReservarCitaPaso } from "./reservar-cita-paso";
import { MessageService } from "../../shared/service/message.service";
export declare class SeleccionarCitaComponent extends ReservarCitaPaso {
    campanyaService: CampanyaService;
    citaService: CitaService;
    translate: TranslateService;
    message: MessageService;
    primerDiaHora: AgendaHora;
    errorCita: string;
    listDia: AgendaHora[];
    listHora: AgendaHora[];
    listCalendario: Calendario[];
    localeCalendario: {
        [key: string]: any;
    };
    displayResumenCitaConfirmarForm: boolean;
    constructor(campanyaService: CampanyaService, citaService: CitaService, translate: TranslateService, message: MessageService);
    loadDatosInicio(): void;
    refreshDatosVisible(): void;
    validarPaso(): boolean;
    goToPasoSiguiente(): void;
    saveResumenCitaConfirmarForm(): void;
    closeResumenCitaConfirmarForm(): void;
    /** Carga el primer día y hora con una cita disponible. Si no hay ningún resultado, muestra un error. */
    loadPrimerDiaHora(): void;
    /** Carga la lista de días disponibles y selecciona el primero. */
    loadDiasDisponibles(): void;
    /** Selección de día por parte del usuario. */
    selectDia(dia: Date): void;
    /** Carga la lista de horas disponibles y selecciona la primera. */
    loadHorasDisponibles(): void;
    /** Selección de hora por parte del usuario. */
    selectHora(hora: string): void;
    /** Calcula las clases CSS que debe tener un calendario. */
    calendarioClass(): string;
    /**
     * Genera una lista de días disponibles y otra lista de días no disponibles, ambas para un mes concreto.
     * La lista de origen puede tener agendas disponibles en uno o más meses.
     **/
    calculateDiasSiNoDisponibles(listOrigen: AgendaHora[], month: number): [Date[], Date[]];
    readonly textoCitaSeleccion: any;
}
