import { ksGlobal } from "../types/knownscript.types";
declare global {
    interface Window {
        g_kwizcom_sods: {
            [sodName: string]: Sod;
        };
    }
}
export default class Sod {
    private sodName;
    private url;
    private script;
    private state;
    private notified;
    private callbacks;
    constructor(url: string, sodName: string);
    private error;
    private loadScript;
    private load;
    private notify;
    private reset;
    private static loadScript;
    static getGlobal(global: ksGlobal): any;
    static ensureScriptNoPromise(scriptUrl: string, global: ksGlobal, callback?: () => void, sodName?: string, sync?: boolean): void;
    static ensureScript(scriptUrl: string, global: ksGlobal, callback?: () => void, sodName?: string, sync?: boolean): Promise<void>;
    private static _initGlobalSods;
    private static _getGlobalSod;
    private static _addGlobalSod;
}
