/**
 *
 * carbon-angular v0.0.0 | animation-frame.service.d.ts
 *
 * Copyright 2014, 2026 IBM
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0

 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */


import { OnDestroy, NgZone } from "@angular/core";
import { Observable, Subject } from "rxjs";
import * as i0 from "@angular/core";
export declare class AnimationFrameServiceSingleton implements OnDestroy {
    protected ngZone: NgZone;
    tick: Observable<number>;
    protected frameSource: Subject<number>;
    protected animationFrameId: number;
    constructor(ngZone: NgZone);
    ngOnDestroy(): void;
    protected doTick(frame: number): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<AnimationFrameServiceSingleton, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<AnimationFrameServiceSingleton>;
}
export declare class AnimationFrameService {
    protected singleton: AnimationFrameServiceSingleton;
    tick: Observable<number>;
    constructor(singleton: AnimationFrameServiceSingleton);
    static ɵfac: i0.ɵɵFactoryDeclaration<AnimationFrameService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<AnimationFrameService>;
}
