/**
 * Represents the `ITimeSpan` interface.
 *
 * @public
 */
export interface ITimeSpan {
    get hours(): number;
    get minutes(): number;
    toString(): string;
}
export declare namespace ITimeSpan {
    function parse(value: string, locale?: string): ITimeSpan;
    function tryParse(value: string, locale?: string): ITimeSpan | null;
    function compare(x?: ITimeSpan | null, y?: ITimeSpan | null): number;
    function equals(x?: ITimeSpan | null, y?: ITimeSpan | null): boolean;
    function repeat(from: ITimeSpan, to: ITimeSpan, interval: number): ITimeSpan;
    function create(hours: number, minutes: number, locale?: string): ITimeSpan;
    /**
     * Type-guard to check if the given value is an ITimeSpan object.
     *
     * @param value - The value to check.
     * @returns
     */
    function isTimeSpan(value: unknown): value is ITimeSpan;
    /**
     * Calculates the time span (hours and minutes) between two Date objects.
     *
     * @public
     * @param start - The start Date.
     * @param end - The end Date.
     * @param locale - Optional locale string for formatting.
     * @returns An ITimeSpan object representing the difference.
     */
    function fromDates(start: Date, end: Date, locale?: string): ITimeSpan;
    /**
     * Converts an ITimeSpan object to a total number of minutes.
     *
     * @public
     * @param span - The ITimeSpan object to convert.
     */
    function toMinutes(span: ITimeSpan): number;
}
/**
 * Generates time slots.
 *
 * @private
 */
export declare function generateTimeSlots(interval?: number, locale?: string, min?: ITimeSpan, max?: ITimeSpan): Array<ITimeSpan>;
//# sourceMappingURL=TimeSpan.d.ts.map