import type { OpenFin } from '@openfin/core';
import type { StorefrontVpwChannelProvider } from './protocol';
export declare class StorefrontVpwProvider {
    #private;
    static instance: StorefrontVpwProvider | null;
    constructor(channel: StorefrontVpwChannelProvider);
    get ready(): Promise<void>;
    private ensureClientConnected;
    show(): Promise<void>;
    showWhenReady(): Promise<void>;
    hide(): Promise<void>;
    shutdown(): Promise<void>;
    getWindowSync(): OpenFin.Window;
    private getProviderOrFail;
    private resolveTemplate;
    private registerChannelActions;
    updateAppCardButtons(payload: {
        providerId: string;
        appId: string;
        primaryButton?: unknown;
        secondaryButtons?: unknown[];
    }): Promise<void>;
}
