import { EffectModule } from '@sigi/core';
import { Draft } from 'immer';
import { Observable } from 'rxjs';
export declare class Service {
    getName(): Observable<string>;
}
interface State {
    count: number;
    name: string;
}
export declare class ServiceModule extends EffectModule<State> {
    readonly service: Service;
    readonly defaultState: {
        count: number;
        name: string;
    };
    constructor(service: Service);
    setName(state: Draft<State>, name: string): void;
    setNameEffect(payload$: Observable<void>): Observable<import("@sigi/types").Action<null> | import("@sigi/types").Action<string>>;
    setNameWithFailure(payload$: Observable<number | undefined>): Observable<import("@sigi/types").Action<unknown> | import("@sigi/types").Action<null>>;
}
export {};
