| /** |
| * @license |
| * Copyright Google LLC All Rights Reserved. |
| * |
| * Use of this source code is governed by an MIT-style license that can be |
| * found in the LICENSE file at https://angular.io/license |
| */ |
| import { FactoryProvider, OnDestroy } from '@angular/core'; |
| import { DateAdapter } from '@angular/material/core'; |
| import { Observable } from 'rxjs'; |
| /** A class representing a range of dates. */ |
| export declare class DateRange<D> { |
| /** The start date of the range. */ |
| readonly start: D | null; |
| /** The end date of the range. */ |
| readonly end: D | null; |
| /** |
| * Ensures that objects with a `start` and `end` property can't be assigned to a variable that |
| * expects a `DateRange` |
| */ |
| private _disableStructuralEquivalency; |
| constructor( |
| /** The start date of the range. */ |
| start: D | null, |
| /** The end date of the range. */ |
| end: D | null); |
| } |
| /** |
| * Conditionally picks the date type, if a DateRange is passed in. |
| * @docs-private |
| */ |
| export declare type ExtractDateTypeFromSelection<T> = T extends DateRange<infer D> ? D : NonNullable<T>; |
| /** |
| * Event emitted by the date selection model when its selection changes. |
| * @docs-private |
| */ |
| export interface DateSelectionModelChange<S> { |
| /** New value for the selection. */ |
| selection: S; |
| /** Object that triggered the change. */ |
| source: unknown; |
| /** Previous value */ |
| oldValue?: S; |
| } |
| /** |
| * A selection model containing a date selection. |
| * @docs-private |
| */ |
| export declare abstract class MatDateSelectionModel<S, D = ExtractDateTypeFromSelection<S>> implements OnDestroy { |
| /** The current selection. */ |
| readonly selection: S; |
| protected _adapter: DateAdapter<D>; |
| private _selectionChanged; |
| /** Emits when the selection has changed. */ |
| selectionChanged: Observable<DateSelectionModelChange<S>>; |
| protected constructor( |
| /** The current selection. */ |
| selection: S, _adapter: DateAdapter<D>); |
| /** |
| * Updates the current selection in the model. |
| * @param value New selection that should be assigned. |
| * @param source Object that triggered the selection change. |
| */ |
| updateSelection(value: S, source: unknown): void; |
| ngOnDestroy(): void; |
| protected _isValidDateInstance(date: D): boolean; |
| /** Adds a date to the current selection. */ |
| abstract add(date: D | null): void; |
| /** Checks whether the current selection is valid. */ |
| abstract isValid(): boolean; |
| /** Checks whether the current selection is complete. */ |
| abstract isComplete(): boolean; |
| /** |
| * Clones the selection model. |
| * @deprecated To be turned into an abstract method. |
| * @breaking-change 12.0.0 |
| */ |
| clone(): MatDateSelectionModel<S, D>; |
| } |
| /** |
| * A selection model that contains a single date. |
| * @docs-private |
| */ |
| export declare class MatSingleDateSelectionModel<D> extends MatDateSelectionModel<D | null, D> { |
| constructor(adapter: DateAdapter<D>); |
| /** |
| * Adds a date to the current selection. In the case of a single date selection, the added date |
| * simply overwrites the previous selection |
| */ |
| add(date: D | null): void; |
| /** Checks whether the current selection is valid. */ |
| isValid(): boolean; |
| /** |
| * Checks whether the current selection is complete. In the case of a single date selection, this |
| * is true if the current selection is not null. |
| */ |
| isComplete(): boolean; |
| /** Clones the selection model. */ |
| clone(): MatSingleDateSelectionModel<D>; |
| } |
| /** |
| * A selection model that contains a date range. |
| * @docs-private |
| */ |
| export declare class MatRangeDateSelectionModel<D> extends MatDateSelectionModel<DateRange<D>, D> { |
| constructor(adapter: DateAdapter<D>); |
| /** |
| * Adds a date to the current selection. In the case of a date range selection, the added date |
| * fills in the next `null` value in the range. If both the start and the end already have a date, |
| * the selection is reset so that the given date is the new `start` and the `end` is null. |
| */ |
| add(date: D | null): void; |
| /** Checks whether the current selection is valid. */ |
| isValid(): boolean; |
| /** |
| * Checks whether the current selection is complete. In the case of a date range selection, this |
| * is true if the current selection has a non-null `start` and `end`. |
| */ |
| isComplete(): boolean; |
| /** Clones the selection model. */ |
| clone(): MatRangeDateSelectionModel<D>; |
| } |
| /** @docs-private */ |
| export declare function MAT_SINGLE_DATE_SELECTION_MODEL_FACTORY(parent: MatSingleDateSelectionModel<unknown>, adapter: DateAdapter<unknown>): MatSingleDateSelectionModel<unknown>; |
| /** |
| * Used to provide a single selection model to a component. |
| * @docs-private |
| */ |
| export declare const MAT_SINGLE_DATE_SELECTION_MODEL_PROVIDER: FactoryProvider; |
| /** @docs-private */ |
| export declare function MAT_RANGE_DATE_SELECTION_MODEL_FACTORY(parent: MatSingleDateSelectionModel<unknown>, adapter: DateAdapter<unknown>): MatSingleDateSelectionModel<unknown>; |
| /** |
| * Used to provide a range selection model to a component. |
| * @docs-private |
| */ |
| export declare const MAT_RANGE_DATE_SELECTION_MODEL_PROVIDER: FactoryProvider; |