import { AppObject, AppObjectRepo, AppObjectUC } from "@vived/core";
export interface DispatchStateChangePayload {
    stateObject: object;
    assets: string[];
    validationErrorMessage?: string | undefined;
}
export declare abstract class DispatchStateChangeUC extends AppObjectUC {
    static readonly type = "DispatchStateChangeUC";
    readonly requestType = "ON_STATE_CHANGE";
    abstract doDispatch(): void;
    abstract validateState: () => string | undefined;
    abstract getStateAssets: () => string[];
    static get: (appObjects: AppObjectRepo) => DispatchStateChangeUC | undefined;
}
export declare function makeDispatchStateChangeUC(appObject: AppObject): DispatchStateChangeUC;
export declare function dispatchStateChange(appObjects: AppObjectRepo): void;
//# sourceMappingURL=DispatchStateChangeUC.d.ts.map