import type { ISpawnPolicyService, ISpawnRequest, ISpawnDecision, ISpawnPolicyRules } from './ISpawnPolicyService';
/**
 * Default spawn policy - allows all spawns.
 *
 * For development and testing. Use a custom policy
 * with rules for production deployments.
 */
export declare class DefaultSpawnPolicy implements ISpawnPolicyService {
    private readonly _rules;
    constructor(rules?: Partial<ISpawnPolicyRules>);
    evaluate(request: ISpawnRequest): ISpawnDecision;
}
/**
 * Strict spawn policy - denies all spawns by default.
 *
 * Must explicitly allow component types.
 */
export declare class StrictSpawnPolicy implements ISpawnPolicyService {
    private readonly _allowedTypes;
    constructor(allowedTypes?: string[]);
    evaluate(request: ISpawnRequest): ISpawnDecision;
    /**
     * Add a component type to the allowed list.
     */
    allow(componentType: string): void;
    /**
     * Remove a component type from the allowed list.
     */
    deny(componentType: string): void;
}
//# sourceMappingURL=DefaultSpawnPolicy.d.ts.map