import type { Device } from "../device.js";
import type { Shader } from "./shader.js";
import { Resource, type ResourceProps } from "./resource.js";
export type SharedRenderPipelineProps = ResourceProps & {
    handle?: unknown;
    vs: Shader;
    fs: Shader;
    varyings?: string[];
    bufferMode?: number;
};
/**
 * Internal base class for backend-specific shared render-pipeline implementations.
 * Backends may use this to share expensive linked/program state across multiple
 * `RenderPipeline` wrappers.
 */
export declare abstract class SharedRenderPipeline extends Resource<SharedRenderPipelineProps> {
    get [Symbol.toStringTag](): string;
    abstract readonly device: Device;
    abstract readonly handle: unknown;
    constructor(device: Device, props: SharedRenderPipelineProps);
}
//# sourceMappingURL=shared-render-pipeline.d.ts.map