import { BaseSopOperation } from './_Base';
import { CoreGroup } from '../../../core/geometry/Group';
import { InputCloneMode } from '../../../engine/poly/InputCloneMode';
import { DefaultOperationParams } from '../../../core/operations/_Base';
import { CameraSopNodeType } from '../../poly/NodeContext';
import { CoreObjectType, ObjectContent } from '../../../core/geometry/ObjectContent';
interface CameraFrameModeSopParams extends DefaultOperationParams {
    group: string;
    frameMode: number;
    expectedAspectRatio: number;
}
interface UpdateObjectOptions {
    objects: ObjectContent<CoreObjectType>[];
    params: CameraFrameModeSopParams;
}
export declare class CameraFrameModeSopOperation extends BaseSopOperation {
    static readonly DEFAULT_PARAMS: CameraFrameModeSopParams;
    static readonly INPUT_CLONED_STATE = InputCloneMode.FROM_NODE;
    static type(): Readonly<CameraSopNodeType.FRAME_MODE>;
    cook(inputCoreGroups: CoreGroup[], params: CameraFrameModeSopParams): CoreGroup;
    static updateObject(options: UpdateObjectOptions): void;
}
export {};
