/// <reference types="@webgpu/types" />
import type { AnyPass, RenderPassOutputSlot, RenderTargetDefinitionMap } from './types.js';
export type RenderTargetFormatMap = Readonly<Record<string, GPUTextureFormat>>;
/** Validates the renderer-owned working texture used by scene and presentation pipelines. */
export declare function validateWorkingFormat(format: unknown, deviceFeatures: ReadonlySet<string>): void;
/** Validates named color targets and returns their effective formats. */
export declare function validateRenderTargetFormats(definitions: RenderTargetDefinitionMap | undefined, defaultFormat: GPUTextureFormat, deviceFeatures: ReadonlySet<string>): RenderTargetFormatMap;
/** Validates only nominally branded MotionGPU render passes; structural custom passes stay open. */
export declare function validateBuiltInRenderPassFormats(input: {
    passes: readonly AnyPass[];
    workingFormat: GPUTextureFormat;
    namedFormats: RenderTargetFormatMap;
    deviceFeatures: ReadonlySet<string>;
}): void;
/** Resolves the slot sampled by the implicit presentation pass for a static pass list. */
export declare function resolvePresentationSourceSlot(passes: readonly AnyPass[]): RenderPassOutputSlot | null;
/** Validates the implicit fullscreen presentation pass input before graph execution. */
export declare function validatePresentationSourceFormat(input: {
    slot: RenderPassOutputSlot;
    workingFormat: GPUTextureFormat;
    namedFormats: RenderTargetFormatMap;
    deviceFeatures: ReadonlySet<string>;
    requiresFilterableInput: boolean;
}): void;
//# sourceMappingURL=render-format-validation.d.ts.map