import 'reflect-metadata';
import { OnDestroy } from '@angular/core';
export declare class StateMessage {
    name: string;
    state: any;
    msg: any;
    constructor(name: string, state: any, msg: any);
}
interface IStateMessageService {
    SendMessage(name: string, message: any, state: IStateService): Promise<any>;
}
export declare class StateMessageService implements IStateMessageService {
    SendMessage(name: string, message: any, state: IStateService): Promise<any>;
}
export interface IStateService {
    getState(name: string, cb: Function): any;
    sendMessage(name: string, message: any): any;
    getStates(set: any): any;
    read(name: string, id: number): any;
    write(name: string, id: number, data: any, cache: Boolean): any;
}
export declare function StateDecorator(config: any): <T extends new (...args: any[]) => {}>(constr: T) => {
    new (...args: any[]): {
        message: IStateMessageService;
        subscribtion: any[];
        getStates(set: any): void;
        getState(name: string, cb: Function): void;
        sendMessage(name: string, message: any): void;
        ngOnDestroy(): void;
    };
} & T;
export declare class StateBase implements OnDestroy {
    constructor();
    getState(name: string, cb: Function): void;
    sendMessage(name: string, message: any): void;
    ngOnDestroy(): void;
    getStates(set: any): void;
}
export {};
