/*!
 * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.
 * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (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.
 */
interface QueueItem {
    method: () => void;
    thisObject: object;
    args: any[];
    resolve: (value?: unknown) => void;
    reject: (reason?: unknown) => void;
}
interface PromiseQueueOptions {
    quiet?: boolean;
}
export declare class PromiseQueue {
    queue: QueueItem[];
    running: boolean;
    options: PromiseQueueOptions;
    constructor(options?: PromiseQueueOptions);
    push(method: (...args: any) => any, thisObject: any, ...args: any[]): Promise<unknown>;
    run(): void;
}
export {};
