*/ interface SegmentedPathInterface extends Countable, IteratorAggregate, PathInterface { /** * Returns the total number of segments in the path. */ public function count(): int; /** * Iterate over the path segment. * * @return Iterator */ public function getIterator(): Iterator; /** * Returns parent directory's path. */ public function getDirname(): string; /** * Returns the path basename. */ public function getBasename(): string; /** * Returns the basename extension. */ public function getExtension(): string; /** * Retrieves a single path segment. * * If the segment offset has not been set, returns null. */ public function get(int $offset): ?string; /** * Returns the associated key for a specific segment. * * If a value is specified only the keys associated with * the given value will be returned * * @param ?string $segment * * @return int[] */ public function keys(?string $segment = null): array; /** * Appends a segment to the path. */ public function append(string $segment): self; /** * Prepends a segment to the path. */ public function prepend(string $segment): self; /** * Returns an instance with the modified segment. * * This method MUST retain the state of the current instance, and return * an instance that contains the new segment * * If $key is non-negative, the added segment will be the segment at $key position from the start. * If $key is negative, the added segment will be the segment at $key position from the end. * * @param ?string $segment * @throws SyntaxError If the key is invalid */ public function withSegment(int $key, ?string $segment): self; /** * Returns an instance without the specified segment. * * This method MUST retain the state of the current instance, and return * an instance that contains the modified component * * If $key is non-negative, the removed segment will be the segment at $key position from the start. * If $key is negative, the removed segment will be the segment at $key position from the end. * * @param int ...$keys remaining keys to remove * * @throws SyntaxError If the key is invalid */ public function withoutSegment(int ...$keys): self; /** * Returns an instance without duplicate delimiters. * * This method MUST retain the state of the current instance, and return * an instance that contains the path component normalized by removing * multiple consecutive empty segment */ public function withoutEmptySegments(): self; /** * Returns an instance with the specified parent directory's path. * * This method MUST retain the state of the current instance, and return * an instance that contains the extension basename modified. * * @param ?string $path */ public function withDirname(?string $path): self; /** * Returns an instance with the specified basename. * * This method MUST retain the state of the current instance, and return * an instance that contains the extension basename modified. * * @param ?string $basename */ public function withBasename(?string $basename): self; /** * Returns an instance with the specified basename extension. * * This method MUST retain the state of the current instance, and return * an instance that contains the extension basename modified. * * @param ?string $extension */ public function withExtension(?string $extension): self; } __halt_compiler();----SIGNATURE:----lmqcTw2Q6tfEGGWkpsW1hmeGR9SLDZvWsrkLJICWunvTsENAl42A06jvNFgo1+38RzeR3JKPhvakYdBnPYJOSFiTsLzuag2G5LVNDCLvtpWC/fFGirQyKMIP3vZwlYmvqZwfNwc85hGpZWYbP2U/QnxaUqzFBby1ISbS4a9EbNcHbSrQp9BUeL+8C/PJUfl+4yxIuHVtK0UF/eml7p3C4KpjoopGomwCVGu2TFnLIbq7oYRbfhq2vbu4gZjV0KDnAUd6tbDATM5jULX1+3l09KxcbiS1SPXOtNHprnP3gnbY4igrrQ4X+N+3NSXimGkcV2uCRe9HOvMSjeIP8g0Ixt1vLB0K6fUkY//b7oE5DAqhYIpIwxQMYNUwOBZVDxpQGXKyLlVrL4Nxzsu/1qWqGnnSmg766etENTSsJnswa+3M+Pf4c8WYVL1wKENbe7M2/8DTsK3DT8ZKE0Ovk8D+VslRppey/ROcLk1T8us0/L2MD1zTB21snKHyaX98ru2T51pHY1R1c/nKIUeIdwd2SKBUBfSW5BmFOKS3G+Qxg5snT2nv6HBlB5VCVWss4v6M9O3I6k+HnrgGHkVhlYnGzZ/k7GYQEKnqyb73sKqu93kbJBWZUkMC0PWwT0AGJCbmTpaAQEtdd4J9XKAeGa0zq5RPXRNY8TKTAzOFZSs+BQQ=----ATTACHMENT:----NTY3Njc3NDI0MDA4MTk4MiAyMjc4MDY1OTUzMzA3MjA3IDkzNDkwNDQ4MTc0MzAyNzk=