import type { _CAAnimation } from "./CAAnimation.js";
import type { _CALayer } from "./CALayer.js";
import type { _NSString } from "../Foundation/NSString.js";
export interface _CALayerDelegate {
    /**
     * If defined, called by the default implementation of the -display method, in which case it should implement the entire display process (typically by setting the `contents' property).
     */
    displayLayer$?(layer: _CALayer): void;
    /** If defined, called by the default implementation of -drawInContext: */
    drawLayer$inContext$?(layer: _CALayer, ctx: Uint8Array): void;
    /**
     * If defined, called by the default implementation of the -display method. Allows the delegate to configure any layer state affecting contents prior to -drawLayer:InContext: such as `contentsFormat' and `opaque'. It will not be called if the delegate implements -displayLayer.
     */
    layerWillDraw$?(layer: _CALayer): void;
    /**
     * Called by the default -layoutSublayers implementation before the layout manager is checked. Note that if the delegate method is invoked, the layout manager will be ignored.
     */
    layoutSublayersOfLayer$?(layer: _CALayer): void;
    /**
     * If defined, called by the default implementation of the -actionForKey: method. Should return an object implementing the CAAction protocol. May return 'nil' if the delegate doesn't specify a behavior for the current event. Returning the null object (i.e. '[NSNull null]') explicitly forces no further search. (I.e. the +defaultActionForKey: method will not be called.)
     */
    actionForLayer$forKey$?(layer: _CALayer, event: _NSString): _CAAnimation | null;
}
