import type { Controller } from '../../../controllers/controller/headless-controller.js';
import type { ControllerWithKind } from '../../commerce/types/controller-definitions.js';
import type { Kind } from '../../commerce/types/kind.js';
export type StaticControllerState = {
    initialState?: Controller['state'];
    _kind?: Kind;
} & Pick<ControllerWithKind, 'state'>;
/**
 * Builder class for creating static controller
 */
declare class StaticControllerBuilder {
    private _state?;
    private _kind?;
    private _initialState?;
    withState(state: StaticControllerState['state']): this;
    withKind(kind: Kind): this;
    withInitialState(initialState: StaticControllerState['initialState']): this;
    /**
     * Builds and returns the static controller state object
     */
    build(): StaticControllerState;
}
export declare function createStaticControllerBuilder<TController extends Controller>(controller: TController): StaticControllerBuilder;
export {};
