import { ResponsiveSize, ResponsiveUIHelper } from '@dvn/alaca/utils/ui';
import { ApiError } from '@dvn/core/api';
import { User } from '@dvn/kimlik/api/models';
import { UserSettings } from '@dvn/kimlik/api/models/UserSettings';
import { SozlukApi } from '@dvn/sozluk/api';
import { Availability } from '@dvn/takvim/api/models';
import { TakvimApi } from '@dvn/takvim/api/takvimApi';
import { DvnAppViewTakvimAvailabilitySettingsViewI18n } from '@dvn/takvim/views/dvn-app-view-takvim-availability-settings-view/i18n';
import { HTMLStencilElement } from '../../../../../stencil-public-runtime';
import { TakvimAvailabilitySettingsViewConfig } from '../takvim-availability-settings-view-config';
export declare class DvnAppViewTakvimAvailabilitySettingsView {
  uiHelper: ResponsiveUIHelper;
  el: HTMLStencilElement;
  availabilities?: Availability[];
  weeklyAvailabilityAddIndex?: number;
  weeklyAvailabilities: Availability[][];
  customAvailabilities: {
    date: Date;
    availabilities: Availability[];
  }[];
  customAvailabilitySelectedDate: Date;
  showCustomAvailabilityForm: boolean;
  availabilityToEdit?: Availability;
  error: ApiError;
  strings?: DvnAppViewTakvimAvailabilitySettingsViewI18n;
  size: ResponsiveSize;
  view: TakvimAvailabilitySettingsViewConfig;
  user: User;
  userSettings: UserSettings;
  apiSozluk: SozlukApi;
  apiTakvim: TakvimApi;
  componentWillLoad(): void;
  fetchAvailabilities(): Promise<void>;
  onCreateAvailability: () => void;
  onUpdateAvailability: () => void;
  onSizeChange: (size: ResponsiveSize) => void;
  isMobileUI: () => boolean;
  getCalendarShownMonthCount: () => 1 | 2 | 3;
  render(): any;
}
