import type { SheetProxy } from "@okcontract/cells";
import type { AnonContractQueryType, ContractQueryType, OKWidget, OKWidgetStep, OKWidgetStepType, TokenQueryType } from "@okcontract/coredata";
import { type MapTypeDefinitions } from "@okcontract/fred";
import type { ChainType } from "@okcontract/multichain";
import type { OKCore } from "./coreExecution";
export type OKWidgetData = {
    OKWidget: OKWidget;
    auth?: string;
    sig?: string;
    /** extra widget parameters */
    xp?: Record<string, unknown>;
};
export declare const newWidget: (core: OKCore, proxy: SheetProxy, types: MapTypeDefinitions, contractQuery?: TokenQueryType | ContractQueryType | AnonContractQueryType<ChainType>, method?: string) => Promise<OKWidgetData>;
export declare const newWidgetFrom: (core: OKCore, proxy: SheetProxy, types: MapTypeDefinitions, from: OKWidget) => Promise<OKWidgetData>;
/**
 * new_step ... @todo
 * @param schema
 * @param step
 * @returns
 */
export declare const new_step: (proxy: SheetProxy, types: MapTypeDefinitions, contractQuery?: ContractQueryType | AnonContractQueryType<ChainType> | TokenQueryType, method?: string) => Promise<OKWidgetStep<OKWidgetStepType>>;
export declare const get_widget_method: (step: Partial<OKWidgetStep<OKWidgetStepType>>) => string;
export declare const get_widget_step: (w: OKWidget, index: number) => OKWidgetStep<"app" | "sig" | "wait" | "ntx" | "call" | "aft">;
