import { OnInit } from '@angular/core';
import { ControlValueAccessor, FormControl, FormGroup } from '@angular/forms';
import dayjs from 'dayjs';
import 'dayjs/locale/es';
import 'dayjs/locale/pt';
import * as i0 from "@angular/core";
type DayOfMonth = {
    name: string;
    value: number;
    indexWeek: number;
    disabled: boolean;
    date: string;
};
export declare class DatepickerComponent implements OnInit, ControlValueAccessor {
    iconArrowLeft: string;
    iconArrowRight: string;
    format: import("@angular/core").InputSignal<string>;
    language: import("@angular/core").InputSignal<string>;
    weekFromLanguage: import("@angular/core").Signal<string[]>;
    label: import("@angular/core").InputSignal<string>;
    range: import("@angular/core").InputSignal<[number, dayjs.ManipulateType] | null>;
    minDate: import("@angular/core").InputSignal<string | null>;
    maxDate: import("@angular/core").InputSignal<string | null>;
    disableUntil: import("@angular/core").InputSignal<string>;
    disableFrom: import("@angular/core").InputSignal<string>;
    current: import("@angular/core").ModelSignal<string>;
    dateUpdated: import("@angular/core").OutputEmitterRef<string>;
    synchronizedPickersEffect: import("@angular/core").EffectRef;
    daysOfMonth: DayOfMonth[];
    monthAndYearLabel: dayjs.Dayjs;
    isOpen: boolean;
    parentForm: import("@angular/core").InputSignal<FormGroup<any> | null>;
    formControlName: import("@angular/core").InputSignal<string>;
    get formField(): FormControl | null;
    private onControlChange;
    private onControlTouch;
    disabled: import("@angular/core").ModelSignal<boolean>;
    writeValue(obj: string): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    setDisabledState(isDisabled: boolean): void;
    constructor();
    ngOnInit(): void;
    toggleDatepicker(): void;
    private getDaysFromDate;
    private shouldDisableDayByRange;
    private shouldDisableDay;
    private refresh;
    changeMonth(flag: boolean): void;
    handleSelectDay(day: DayOfMonth): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<DatepickerComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DatepickerComponent, "st-datepicker", never, { "format": { "alias": "format"; "required": false; "isSignal": true; }; "language": { "alias": "language"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "range": { "alias": "range"; "required": false; "isSignal": true; }; "minDate": { "alias": "minDate"; "required": false; "isSignal": true; }; "maxDate": { "alias": "maxDate"; "required": false; "isSignal": true; }; "disableUntil": { "alias": "disableUntil"; "required": false; "isSignal": true; }; "disableFrom": { "alias": "disableFrom"; "required": false; "isSignal": true; }; "current": { "alias": "current"; "required": false; "isSignal": true; }; "parentForm": { "alias": "parentForm"; "required": false; "isSignal": true; }; "formControlName": { "alias": "formControlName"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "current": "currentChange"; "dateUpdated": "dateUpdated"; "disabled": "disabledChange"; }, never, never, true, never>;
}
export {};
